我有一个带有值为ex的列的df。
4,5,6,7,3,1,1,3
我希望根据这些值在此df中添加另一列。
我有名字密钥对()(名字在上面)
one det somet ish hir whynot
4 5 6 7 3 1
我想要一个基于第二个向量的新列,其名称代替基于第二个向量的第一列值
答案 0 :(得分:2)
尝试
df$v2 <- setNames(names(v2), v2)[as.character(df$v1)]
或使用match
df$v2 <- names(v2)[match(df$v1, v2)]
df <- structure(list(v1 = c(4, 5, 6, 7, 3, 1, 1, 3)), .Names = "v1",
row.names = c(NA, -8L), class = "data.frame")
v2 <- c('one'=4, 'det'=5, 'somet'=6, 'ish'=7, 'hir'=3, 'whynot'=1)