Я много искал, но не смог найти решение ... Я думаю, что для многих из вас это непросто ... но не для меня.Точное соответствие частичной строки
df <- data.frame(site = c("11", " 4 , 111", "3,1 ", "4,11111 "))
> df
site
1 11
2 4 , 111
3 3,1
4 4,11111
У меня есть столбец, в котором несколько кодов сайтов могут быть разделены запятой (а не случайными пробелами, которые могут возникнуть). Я пытаюсь найти строки, которые соответствуют интересующим строкам.
Результаты поиска для строк, в которых сайт является 11 или 3 «с (1,3)» соответствует должны, таким образом, вернуться: Я не могу
[1] 1 0 1 0
, чтобы получить это .. . Я думаю, ответ будет включать в себя
temp <- strsplit(df$site, ",")
, но я не могу понять, как применять функции в списках после этого шага ... Я бы сделать
grepl(c("^11$", "^3$"), temp)
но это не работает.
Что представляют собой 1s и 0s? Являются ли они просто «да» и «нет» или они должны указывать количество совпадений в каждой строке? –
Несколько неторопливая версия: 'library (tidyverse); df%>% group_by (row = row_number())%>% separate_rows (site, sep = ',', convert = TRUE)%>% summary (result = as.integer (any ==) 3))) ' – alistaire