我想迭代n次从数据帧随机绘制n行的函数。由于这些组由785行组成,因此功能如下:
randomSample = function(merged_df_1, n) {
return( merged_df_1[sample(nrow(merged_df_1), 785),] )
}
要对该函数进行10次迭代,我尝试了这段代码
n=10
lapply(rep(1, n), randomSample)
但是我收到以下错误消息
“ sample.int(length(x),size,replace,prob)中的错误: 无效的第一个参数”
答案 0 :(得分:2)
发生的事情是lapply获取rep(1,n)向量并将其用作函数的第一个参数。我猜你可以这样做:
randomSample = function(n, merged_df_1) {
#note that the function doesn't really use n inside it, if you want so, you should #replace 785 for n and use rep(n,n) inside the lapply call
return(merged_df_1[sample(nrow(merged_df_1), 785),] )
}
n=10
lapply(rep(1,n), function(x)randomSample(x,merged_df_1))