У меня есть один вопрос;Я хотел бы отфильтровать каждый из столбцов Pair_1 до Pair_4 во фрейме данных «data01» для каждого из шаблонов символов, перечисленных в «pexl07».
Фрейм данных data01 выглядит следующим образом:
Pair_1 Pair_2 Pair_3 Pair_4
453 lupinespringcereal grasscloverleyquinoa springcerealspringcereal camelinacamelina
1073 lupinespringcereal grasscloverleycamelina springcerealspringcereal quinoaquinoa
1330 lupinespringcereal grasscloverleycamelina quinoaspringcereal lupinequinoa
1373 lupinespringcereal grasscloverleycamelina quinoaquinoa lupinespringcereal
1698 lupinecamelina grasscloverleyspringcereal quinoaquinoa springcerealspringcereal
1910 lupinespringcereal springcerealcamelina grasscloverleyspringcereal lupinequinoa
1947 lupinespringcereal springcerealcamelina grasscloverleyquinoa lupinespringcereal
1979 lupinespringcereal springcerealquinoa grasscloverleyspringcereal lupinecamelina
2141 lupinequinoa springcerealspringcereal grasscloverleycamelina lupinespringcereal
2745 lupinecamelina springcerealspringcereal grasscloverleyquinoa springcerealspringcereal
Pexl07 выглядит следующим образом (для примера):
V1
1 quinoaquinoa
2 springcerealspringcereal
Я пробовал много разных вещей,используя for (), filter (), subset (), grepl.sub () и grepl (), но мне не удается заставить его работать, вероятно, потому что я не понимаю индексацию с помощью циклов.Также приветствуются параметры без циклов.
Этот фрагмент работает с одним столбцом и одним шаблоном:
data02 <- filter(data01, !grepl(paste(pexl07[1 , 1]), paste(data01[ ,1 ]))
Однако как мне сделать так, чтобы он работал автоматически, для всех выражений в pexl07 ина всех столбцах data01?
Я попробовал несколько вариантов этого, но он не возвращает то, что я хотел бы:
for (j in ncol(data01)) {
for (i in 1:nrow(pexl07)) {
data02 <- filter(data01,
!grepl(paste(pexl07[j, ]), paste(data01[ ,i])))
}
}
Чтобы было ясно, я хочу, чтобы это закончилоськак это:
Pair_1 Pair_2 Pair_3 Pair_4
1330 lupinespringcereal grasscloverleycamelina quinoaspringcereal lupinequinoa
1910 lupinespringcereal springcerealcamelina grasscloverleyspringcereal lupinequinoa
1947 lupinespringcereal springcerealcamelina grasscloverleyquinoa lupinespringcereal
1979 lupinespringcereal springcerealquinoa grasscloverleyspringcereal lupinecamelina
с dput:
structure(list(Pair_1 = structure(c(6L, 6L, 6L, 6L), .Label = c("grasscloverleycamelina",
"grasscloverleyquinoa", "lupinecamelina", "lupinegrasscloverley",
"lupinequinoa", "lupinespringcereal"), class = "factor"), Pair_2 = structure(c(3L,
9L, 9L, 11L), .Label = c("camelinacamelina", "camelinagrasscloverley",
"grasscloverleycamelina", "grasscloverleyquinoa", "grasscloverleyspringcereal",
"quinoagrasscloverley", "quinoaquinoa", "quinoaspringcereal",
"springcerealcamelina", "springcerealgrasscloverley", "springcerealquinoa",
"springcerealspringcereal"), class = "factor"), Pair_3 = structure(c(11L,
7L, 6L, 7L), .Label = c("camelinacamelina", "camelinagrasscloverley",
"camelinaquinoa", "camelinaspringcereal", "grasscloverleycamelina",
"grasscloverleyquinoa", "grasscloverleyspringcereal", "quinoacamelina",
"quinoagrasscloverley", "quinoaquinoa", "quinoaspringcereal",
"springcerealcamelina", "springcerealquinoa", "springcerealspringcereal"
), class = "factor"), Pair_4 = structure(c(6L, 6L, 7L, 5L), .Label = c("camelinacamelina",
"camelinagrasscloverley", "grasscloverleycamelina", "grasscloverleyspringcereal",
"lupinecamelina", "lupinequinoa", "lupinespringcereal", "quinoagrasscloverley",
"quinoaquinoa", "quinoaspringcereal", "springcerealcamelina",
"springcerealquinoa", "springcerealspringcereal"), class = "factor")), row.names = c(1330L,
1910L, 1947L, 1979L), class = "data.frame")
dput pexl07:
structure(list(V1 = structure(1:2, .Label = c("quinoaquinoa",
"springcerealspringcereal"), class = "factor")), row.names = 1:2, class = "data.frame")
dput data01:
structure(list(Pair_1 = structure(c(6L, 6L, 6L, 6L, 3L, 6L), .Label = c("grasscloverleycamelina",
"grasscloverleyquinoa", "lupinecamelina", "lupinegrasscloverley",
"lupinequinoa", "lupinespringcereal"), class = "factor"), Pair_2 = structure(c(4L,
3L, 3L, 3L, 5L, 9L), .Label = c("camelinacamelina", "camelinagrasscloverley",
"grasscloverleycamelina", "grasscloverleyquinoa", "grasscloverleyspringcereal",
"quinoagrasscloverley", "quinoaquinoa", "quinoaspringcereal",
"springcerealcamelina", "springcerealgrasscloverley", "springcerealquinoa",
"springcerealspringcereal"), class = "factor"), Pair_3 = structure(c(14L,
14L, 11L, 10L, 10L, 7L), .Label = c("camelinacamelina", "camelinagrasscloverley",
"camelinaquinoa", "camelinaspringcereal", "grasscloverleycamelina",
"grasscloverleyquinoa", "grasscloverleyspringcereal", "quinoacamelina",
"quinoagrasscloverley", "quinoaquinoa", "quinoaspringcereal",
"springcerealcamelina", "springcerealquinoa", "springcerealspringcereal"
), class = "factor"), Pair_4 = structure(c(1L, 9L, 6L, 7L, 13L,
6L), .Label = c("camelinacamelina", "camelinagrasscloverley",
"grasscloverleycamelina", "grasscloverleyspringcereal", "lupinecamelina",
"lupinequinoa", "lupinespringcereal", "quinoagrasscloverley",
"quinoaquinoa", "quinoaspringcereal", "springcerealcamelina",
"springcerealquinoa", "springcerealspringcereal"), class = "factor")), row.names = c(453L,
1073L, 1330L, 1373L, 1698L, 1910L), class = "data.frame")