gpt4 book ai didi

r - 将组列添加到数据框

转载 作者:行者123 更新时间:2023-12-01 09:24:20 24 4
gpt4 key购买 nike

我有一个这样的数据框 df

      V1 V2
1 13219 0
2 6358 1
3 4384 2
4 3359 3
5 2820 4
6 2466 5
7 2144 6
8 1941 7
9 1778 8
10 1550 9

我想添加一个“group”列,它将对应于 df$V2 的不同值。

At df$V2 = 0 group will be A
At df$V2 >0 <=5 group will be B
At df$V2 >= 6 group will be C

我们的想法是获得这样的东西:

      V1 V2 Grp
1 13219 0 A
2 6358 1 B
3 4384 2 B
4 3359 3 B
5 2820 4 B
6 2466 5 B
7 2144 6 C
8 1941 7 C
9 1778 8 C
10 1550 9 C

乍一看这似乎是直截了当的,但谷歌搜索并没有多大帮助。非常感谢您的建议。

最佳答案

您可以使用cutfindInterval

df$Grp <- with(df, LETTERS[1:3][cut(V2, breaks=c(-Inf,0, 5, Inf),
labels=FALSE)])

df$Grp <- with(df, LETTERS[1:3][findInterval(V2, c(-Inf,0, 5,Inf)+1)])

df
# V1 V2 Grp
#1 13219 0 A
#2 6358 1 B
#3 4384 2 B
#4 3359 3 B
#5 2820 4 B
#6 2466 5 B
#7 2144 6 C
#8 1941 7 C
#9 1778 8 C
#10 1550 9 C

或者

 with(df, LETTERS[c(2,1,3)][1+(V2==0) + 2*(V2 >=6)])
#[1] "A" "B" "B" "B" "B" "B" "C" "C" "C" "C"

关于r - 将组列添加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29274305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com