使用“循环”按R中的行对数据进行子集;至于;
我有7列21行的数据,我想创建for循环。 我想计算前10行数据中第一列的平均值。然后我想计算第二个平均值,从2到11行,然后从3到12行,最后从11到20行。我试图通过以下代码实现这一点:使用“循环”按R中的行对数据进行子集;至于;,r,for-loop,subset,mean,R,For Loop,Subset,Mean,我有7列21行的数据,我想创建for循环。 我想计算前10行数据中第一列的平均值。然后我想计算第二个平均值,从2到11行,然后从3到12行,最后从11到20行。我试图通过以下代码实现这一点: sredniaa <- array(0, 11) for(j in 1:11) { sredniaa[j]<-mean(wartdop1[j:j+9,1]) } sredniaa欢迎使用堆栈溢出。请花点时间阅读。花点时间把你的代码格式和打字错误弄出来,这样人们会花点时间来回答。如果你对共
sredniaa <- array(0, 11)
for(j in 1:11) {
sredniaa[j]<-mean(wartdop1[j:j+9,1])
}
sredniaa欢迎使用堆栈溢出。请花点时间阅读。花点时间把你的代码格式和打字错误弄出来,这样人们会花点时间来回答。如果你对共享数据没意见,粘贴dput(wartdop1)
的结果会让人们更容易处理。你有没有看一看,特别是@Henriks评论,它还有两个其他的功能links@alistaire当然可以!哎呀。显然,我的意思是使用rollmean
而不是rollapply
<代码>滚动平均值(wartdop1[,1],宽度=10,部分=F)
。如果你想把这个应用到每一列<代码>应用(wartdop1,2,rollmean,width=10,partial=F)您的代码没有错,您只缺少了几个括号:[j:j+9,1]
应该是[j:(j+9),1]
。