R 使用映射表清除数据
我试图用映射表清理数据,并寻找实现这一点的最佳方法 以下是一些示例数据:R 使用映射表清除数据,r,R,我试图用映射表清理数据,并寻找实现这一点的最佳方法 以下是一些示例数据: df <- data.frame(Q1 = c("Yes", "Yes", "Non"), Q2 = c("Non", "No", "Oui")) df您可以尝试plyr::mapvalues > mapvalues(df$Q1, from = map$answer, to = map$mapping) The following `from` values were not
df <- data.frame(Q1 = c("Yes", "Yes", "Non"),
Q2 = c("Non", "No", "Oui"))
df您可以尝试plyr::mapvalues
> mapvalues(df$Q1, from = map$answer, to = map$mapping)
The following `from` values were not present in `x`: Oui, No
[1] TRUE TRUE FALSE
Levels: FALSE TRUE
您可以尝试plyr::mapvalues
> mapvalues(df$Q1, from = map$answer, to = map$mapping)
The following `from` values were not present in `x`: Oui, No
[1] TRUE TRUE FALSE
Levels: FALSE TRUE
或者使用Map
或类似于通过df
循环的方法,从m
apping变量中获取相应的o
utput
Map(function(x,m,o) o[match(x,m)], df, map["answer"], map["mapping"])
#$Q1
#[1] TRUE TRUE FALSE
#
#$Q2
#[1] FALSE FALSE TRUE
如果需要转换结果,请将其全部包装在data.frame
中。或使用Map
或类似的方法通过df
循环,并从m
应用变量中获取相应的o
输出
Map(function(x,m,o) o[match(x,m)], df, map["answer"], map["mapping"])
#$Q1
#[1] TRUE TRUE FALSE
#
#$Q2
#[1] FALSE FALSE TRUE
如果需要转换结果,请将其全部封装在data.frame
中。很好,我也会玩一玩。很好,我也会玩一玩。
Map(function(x,m,o) o[match(x,m)], df, map["answer"], map["mapping"])
#$Q1
#[1] TRUE TRUE FALSE
#
#$Q2
#[1] FALSE FALSE TRUE