【发布时间】:2021-03-30 13:59:06
【问题描述】:
我有一个清单:
A_List <- (A, B, C, D, E)
我有一个 df:
A <- c(A, C, E, D, B)
B <- (Z, Y, X, W, V)
我想创建一个“新”列,其值是通过查看“A”列中的每个元素并返回该元素在列表 A 中出现的索引来派生的。
| A | B | New |
|---|---|---|
| A | Z | 1 |
| C | Y | 3 |
| E | X | 5 |
| D | W | 4 |
| B | V | 2 |
我尝试过将 ifelse() 与 grep 一起使用,但它只需要第一个元素:
df$New <- ifelse(df$A %in% A_List, grep(df$A, A_List), 0)
【问题讨论】:
-
刚刚意识到我的示例与我为保持一致性而尝试编辑的代码不一致。