R:将测量值低于特定阈值的行组合
R: combine rows with measurement below certain threshold
我有一个包含 2 列(x
和 y
)和 8 行的 "toy" 数据框。我想合并和总结 y < 10
的所有行。 merged x
的值不是很重要。
x = c("A","B","C","D","E","F","G","H")
y = c(20,17,16,14,12,9,6,5)
df = data.frame(x,y)
df
x y
1 A 20
2 B 17
3 C 16
4 D 14
5 E 12
6 F 9
7 G 6
8 H 5
期望的输出:
x y
1 A 20
2 B 17
3 C 16
4 D 14
5 E 12
6 F 20
F
不是必须的,可以设置为Other
。提前致谢!
我想这就是你要找的。
x = c("A","B","C","D","E","F","G","H")
y = c(20,17,16,14,12,9,6,5)
df = data.frame(x = x[which(y > 10)],y = y[which(y > 10)])
df = rbind(df,data.frame(x = 'f',y = sum(y[which(y < 10)])))
我们也可以试试subset/transform/rbind
rbind(subset( df, y>=10),
transform(subset(df, y<10), x= x[1], y= sum(y))[1,])
我有一个包含 2 列(x
和 y
)和 8 行的 "toy" 数据框。我想合并和总结 y < 10
的所有行。 merged x
的值不是很重要。
x = c("A","B","C","D","E","F","G","H")
y = c(20,17,16,14,12,9,6,5)
df = data.frame(x,y)
df
x y
1 A 20
2 B 17
3 C 16
4 D 14
5 E 12
6 F 9
7 G 6
8 H 5
期望的输出:
x y
1 A 20
2 B 17
3 C 16
4 D 14
5 E 12
6 F 20
F
不是必须的,可以设置为Other
。提前致谢!
我想这就是你要找的。
x = c("A","B","C","D","E","F","G","H")
y = c(20,17,16,14,12,9,6,5)
df = data.frame(x = x[which(y > 10)],y = y[which(y > 10)])
df = rbind(df,data.frame(x = 'f',y = sum(y[which(y < 10)])))
我们也可以试试subset/transform/rbind
rbind(subset( df, y>=10),
transform(subset(df, y<10), x= x[1], y= sum(y))[1,])