【发布时间】:2019-11-21 17:06:53
【问题描述】:
如果所有条目(在 cols value_1_value_3 中)都等于给定字符(例如“C”)或者是 NA,我想创建一个虚拟变量。
玩具示例:
df <- data.frame(state=rep("state"),
candidate=c("a","b","c"),
value_1= c("A","B","C"),
value_2= c("A","B",NA),
value_3= c("C",NA,NA), stringsAsFactors = FALSE)
需求:
df <- data.frame(state=rep("state"),
candidate=c("a","b","c"),
value_1= c("A","B","C"),
value_2= c("A","B",NA),
value_3= c("C",NA,NA),
dummy=c(0,0,1),stringsAsFactors = FALSE)
我试过了(但没用):
df$dummy <- ifelse(df[-(1:2)] %in% c("C","NA"),1,0)
【问题讨论】:
-
rowSums(df[-(1:2)] == "C" | is.na(df[-(1:2)])) == NCOL(df) - 2
标签: r dataframe if-statement character-encoding dummy-variable