Переименуйте столбец с элементами первой строки другого столбца и удалите последующие столбцы - PullRequest
1 голос
/ 18 мая 2019

Я хочу, если мы изменим имя столбца "хиты" на рекламу, которая является элементом в столбце "ключевое слово", этот процесс будет повторяться для 100 столбцов или около того. затем удалите 4 последовательных столбца, гео, время, ключевое слово и группу по общему мнению для 100 столбцов или около того. Обратите внимание, что совпадения, гео, время, ключевое слово, группа, категория повторяются снова, начиная с обращений.

hits <- c(89, 93, 97, 86, 82, 83, 84, 76, 87, 87) 
geo <- c("ca","ca","ca","ca","ca","ca","ca","ca","ca","ca") 

time<- c("all","all","all","all","all","all","all","all","all","all") 
keyword<- c("adver","adver","adver","adver","adver","adver","adver","adver","adver","adver") 
group <- c("web","web","web","web","web","web","web","web","web","web") 
category <- c(12,12,12,12,12,12,12,12,12,12) 
subject1 <- list(hits = hits,geo = geo,time = time, keyword = keyword, group = group) 
pt_data <- data.frame(subject1, hits, geo,time, keyword, group, category, stringsAsFactors = FALSE)

1 Ответ

0 голосов
/ 18 мая 2019

Мы можем использовать grep, чтобы найти индекс столбцов, а затем удалить столбцы

nm2 <- unlist(pt_data[1, grep("^keyword", names(pt_data))])
i1 <- grep("^hits", names(pt_data))
names(pt_data)[i1] <- nm2
i2 <- grep("^(geo|time|keyword|group)", names(pt_data))
pt_data[i2] <- NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...