R:比较数据帧
R: Comparing Data Frames
我有2个数据框。一个包含参考数据,一个包含原始数据。
我想在原始数据中添加一列,基本上说,如果原始数据中存在参考 table 中的一项,则将其标记为 1,否则将其保留为零。
原始数据包含3行
HC
HC
HC-HY
参考数据包含1行(为了问题我简化了这个)
HC
代码应该在原始数据的每一行的新列中放一个 1,因为所有数据中都有 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}
}
}
如果
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)))
我有2个数据框。一个包含参考数据,一个包含原始数据。 我想在原始数据中添加一列,基本上说,如果原始数据中存在参考 table 中的一项,则将其标记为 1,否则将其保留为零。
原始数据包含3行
HC
HC
HC-HY
参考数据包含1行(为了问题我简化了这个)
HC
代码应该在原始数据的每一行的新列中放一个 1,因为所有数据中都有 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}
}
}
如果
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)))