我有2个数据框。一个包含参考数据,一个包含原始数据。 我想在原始数据中添加一个列,基本上说,如果原始数据中存在参考表中的一个项目,则将其标记为1,否则将其保留为零。
原始数据包含3行
HC
HC
HC-HY
参考数据包含1行(我已经简化了这个问题)
HC
代码应该为原始数据中的每一行添加一个新列,因为HC位于所有行中,
以下是我的代码,它不起作用,因为它似乎忽略了HC-HY
for (i in 1:nrow(Raw))
{
for (k in 1:nrow(RefTable))
{
if (=RefTable[k,1] %in% Raw[i,3]){Raw[i,4] = 1}
}
}
答案 0 :(得分:1)
如果
rawdata = data.frame(A=c("HC","HC","HC-HY"))
refdata = data.frame(A=c("HC"))
然后
rawdata$test = as.numeric(sapply(X = strsplit(rawdata$A,split = "-",fixed = TRUE), FUN=function(x) any(x %in% refdata$A)))