跨R中的两列获取所需值

跨R中的两列获取所需值,r,R,我目前正试图找到一种方法来获取一个特定的ID作为一个新列 我的data.frame如下所示: V1 V2 A B C A D A A E 我想要得到的是: V1 V2 V3 A B B C A C D A D A E E 基本上,一个新的专栏不是一个,但我不知道如何做到这一点 我们可以使用ifelse 或者另一个选项是使用max.col创建行/列索引,然后根据索引提取值 df1[cbind(seq_len(nrow(df1)), max.col(df1 != 'A'))] #[1

我目前正试图找到一种方法来获取一个特定的ID作为一个新列

我的data.frame如下所示:

V1 V2 
A B
C A
D A
A E
我想要得到的是:

V1 V2 V3 
A B B 
C A C 
D A D 
A E E 
基本上,一个新的专栏不是一个,但我不知道如何做到这一点

我们可以使用ifelse

或者另一个选项是使用max.col创建行/列索引,然后根据索引提取值

df1[cbind(seq_len(nrow(df1)), max.col(df1 != 'A'))]
#[1] "B" "C" "D" "E"
数据 我们可以用ifelse

或者另一个选项是使用max.col创建行/列索引,然后根据索引提取值

df1[cbind(seq_len(nrow(df1)), max.col(df1 != 'A'))]
#[1] "B" "C" "D" "E"
数据
另一个base R选项在包含多行时速度较慢

df$V3 <- apply(df,1,setdiff,"A")

另一个base R选项在包含多行时速度较慢

df$V3 <- apply(df,1,setdiff,"A")

欢迎来到SO!我对你的问题做了一个小修改,去掉了一些玩笑。虽然这种情绪值得赞赏,但Stack Overflow/Exchange与论坛有点不同,因为我们不鼓励这样做,以使问题和答案更简短,让信息寻求者更具可读性。干杯欢迎来到SO!我对你的问题做了一个小修改,去掉了一些玩笑。虽然这种情绪值得赞赏,但Stack Overflow/Exchange与论坛有点不同,因为我们不鼓励这样做,以使问题和答案更简短,让信息寻求者更具可读性。干杯
df$V3 <- apply(df,1,setdiff,"A")
> df
  V1 V2 V3
1  A  B  B
2  C  A  C
3  E  A  E
4  A  D  D