假设我在数据框中有一个data0和1的向量,如下所示:
v1<- c(0,0,1,1,0,1,0)
Run Code Online (Sandbox Code Playgroud)
我想要一个新的向量,其值为a或b,基于值v1是0还是1.此外,我希望第一个a为a1,第二个为a2.我希望第一个b是b1,第二个是b2,等等.输出矢量v2看起来像
c(a1,a2,b1,b2,a3,b3,a4)
Run Code Online (Sandbox Code Playgroud)
我知道我可以做一个简单的ifelse陈述
data$v2 <- ifelse(data$v1=0,'a','b')
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何在中添加递增整数.
一种可能性:
paste0(letters[v1 + 1], ave(v1, v1, FUN = seq_along))
# [1] "a1" "a2" "b1" "b2" "a3" "b3" "a4"
Run Code Online (Sandbox Code Playgroud)
而不是letters你可能会使用c("a", "b").但是,letters= 7次击键vs c("a", "b")= 11次击键,6次shift.
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |