【发布时间】:2017-10-04 17:42:06
【问题描述】:
如果我有一个数据框:
d <- data.frame(
name = c("n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9", "n10"),
color = c("blue", "blue", "red", "blue", "red", "blue", "blue", "red", "green", "green"),
weight = c(53, 34, 63, 25, 45, 24, 66, 12, 45, 8),
gender = c(1, 0, 0, 0, 1 ,1 ,1 , 0, 1, 0))
我将如何使用 R 中的 for 循环函数来过滤从平均 每个“颜色”中 +10 的“权重”值?所以我会得到所有行的输出,这些行的权重为每个单独“颜色”的平均值 +10。
我知道d[d$weight > mean(d$weight) + (10 + sd(d$weight)), ] 会给我符合整个样本的这个标准的行,但我试图分别找到每个“颜色”的值,因为每个“颜色”都有不同的 sd 值。
我正在尝试理解 R 中的 for 循环。
【问题讨论】:
-
嗨,如果你想得到平均值,为什么在你的例子中使用
sd?为什么需要使用 for 循环(在R中通常最好避免使用它们)? -
抱歉,我不小心漏掉了那部分,我现在已经修好了。
标签: r for-loop dataframe filter