我已经得到了以下数据帧应用grepl找到因素的变量:创建基于通过在多个列
set.seed(1)
Data <- data.frame(id = seq(1, 10), age = seq(45,54),
Diag1 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag2 = sample(c("D123", "", "A155"), 10, replace = TRUE),
Diag3 = sample(c("G123", "H123", "I123"), 10, replace = TRUE),
Diag4 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag5 = sample(c("J123", "K123", ""), 10, replace = TRUE),
Diag6 = sample(c("", "N123", "O123"), 10, replace = TRUE),
Diag7 = sample(c("P123", "Q123", "R123"), 10, replace = TRUE))
我正在寻找所有的ID名以“A1”中的一个启动因素Diag1-7列
1)我知道如何搜索完整的数据帧为一个特定的因子:
y <- Data[apply(Data,1,function(x) {"A123" %in% x}),]
2)我知道如何一列内搜索一个图案:
x <- Data[grepl("A1", Data$Diag1),]
a)我想在所有列Diag1-Diag7上使用grepl,方法与1)相同。 B)如果可能,我想创建一个名为“result”的新变量,如果行中有“A1”,则包含1,如果行中没有“A1”,则包含0。
非常感谢你
美丽的解决方案,谢谢! – Roccer