【发布时间】:2017-08-11 21:09:25
【问题描述】:
我有一个包含 7 列的数据框 (wc2):
cm5 cm10 cm15 cm20 cm25 cm30 run_time
1 0.1221060 0.1221060 0.1221060 0.1221060 0.1221060 0.1221060 0
2 0.4084525 0.4028010 0.3617393 0.2595060 0.1294412 0.1220099 2
3 0.4087809 0.4042515 0.3711077 0.3119956 0.2241836 0.1290348 4
4 0.4088547 0.4045780 0.3732053 0.3218224 0.2611785 0.1720426 6
5 0.4088770 0.4046887 0.3739936 0.3255557 0.2739738 0.2081264 8
6 0.4088953 0.4047649 0.3744183 0.3273794 0.2798225 0.2273250 10
对于每一行(run_time),我想首先平均第一列,然后是第一列和第二列,然后是第一列、第二列和第三列,依此类推,直到第六列。平均结果应该在新列或新数据框中(我不介意)。 我使用以下代码做到了:
wc2$dia10 <- wc2$cm5
wc2$dia20 <- rowMeans(wc2[c("cm5", "cm10")])
wc2$dia30 <- rowMeans(wc2[c("cm5", "cm10", "cm15")])
wc2$dia40 <- rowMeans(wc2[c("cm5", "cm10", "cm15", "cm20")])
wc2$dia50 <- rowMeans(wc2[c("cm5", "cm10", "cm15", "cm20", "cm25")])
wc2$dia60 <- rowMeans(wc2[c("cm5", "cm10", "cm15", "cm20", "cm25", "cm30")])
根据我对 R 的基本知识,我发现有一种更好的方法可以做到这一点,但我不知道怎么做。特别是当我有更多的列时。 我查看了“汇总并增加 R 中数据框的列数”的答案,但无法理解或将其应用于我的数据。
感谢您的帮助
【问题讨论】:
标签: r