我已經得到了以下數據幀應用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