【问题标题】:For-Loop indexing issue in R [duplicate]R中的For-Loop索引问题[重复]
【发布时间】:2014-04-18 12:26:41
【问题描述】:

我在 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 循环不同。

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

【问题讨论】:

    标签: r for-loop indexing


    【解决方案1】:

    你可以试试:

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

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

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

    【讨论】:

    • 谢谢!这工作得很好。你能解释一下为什么我的陈述不起作用吗?
    猜你喜欢
    • 2015-01-19
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多