R中的For-Loop索引问题

时间:2014-03-13 16:02:44

标签: r for-loop indexing

我在R数据帧中有28组48行。我试图取每组的标准偏差。我在R Studio中使用了以下语句:

stddev <- vector();
for (i in 1:28) { stddev[i] <- sd(in.subj[((i * 48) -47):(i * 48), 5]); }

之后检查stddev []的值时,stddev [1] = NA。同样,当我检查各个组的标准偏差时,比如sd(in.subj [49:96,5]),我得到的值与打印出的for循环不同。

这些问题的原因是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

你可以尝试:

tapply(in.subj[,5], gl(28,48), sd)

如果您的数据中有一些NA:

tapply(in.subj[,5], gl(28,48), sd, na.rm=T)