在 R 中从另一列填充一个新列,并以另外两列为条件

  • 本文关键字:条件 两列 填充 一列 一个 新列 r
  • 更新时间 :
  • 英文 :


我需要创建一个新列(col.4(,该列填充了现有列(col.2(中的值,这些值被选为原始相邻列(col.1(的条件,并且在新的(更长的(相邻列(col.3(中使用相同的值。如何实现这一点?数据如下所示:

col.1 col.2 col.3 col.4 1 A 1 A 2 B 2 B 3 C 2 B 4 D 3 C - - 1 A - - 4 D - - 3 C - - 4 D

一种选择是使用"col.3"作为索引(假设它是数字列(

df1$col.4 <- with(df1, col.2[col.3])
df1$col.4
#[1] "A" "B" "B" "C" "A" "D" "C" "D"

数据

df1 <- structure(list(col.1 = c("1", "2", "3", "4", "-", "-", "-", "-"
), col.2 = c("A", "B", "C", "D", "-", "-", "-", "-"), col.3 = c(1L, 
2L, 2L, 3L, 1L, 4L, 3L, 4L), col.4 = c("A", "B", "B", "C", "A", 
"D", "C", "D")), class = "data.frame", row.names = c(NA, -8L))

最新更新