У меня есть фрейм данных, и я пытаюсь пропустить кадр данных, чтобы идентифицировать те столбцы, которые содержат специальный символ или все заглавные буквы.Схватывающие столбцы со специальными символами и буквами верхнего регистра
Я пробовал несколько вещей, но ничего, где я есть яблоко, чтобы поймать имена столбцов в цикле.
data = data.frame(one=c(1,3,5,1,3,5,1,3,5,1,3,5), two=c(1,3,5,1,3,5,1,3,5,1,3,5),
thr=c("A","B","D","E","F","G","H","I","J","H","I","J"),
fou=c("A","B","D","A","B","D","A","B","D","A","B","D"),
fiv=c(1,3,5,1,3,5,1,3,5,1,3,5),
six=c("A","B","D","E","F","G","H","I","J","H","I","J"),
sev=c("A","B","D","A","B","D","A","B","D","A","B","D"),
eig=c("A","B","D","A","B","D","A","B","D","A","B","D"),
nin=c(1.24,3.52,5.33,1.44,3.11,5.33,1.55,3.66,5.33,1.32,3.54,5.77),
ten=c(1:12),
ele=rep(1,12),
twe=c(1,2,1,2,1,2,1,2,1,2,1,2),
thir=c("THiS","THAT34","T(&*(", "!!!","@$#","$Q%J","who","THIS","this","this","this","this"),
stringsAsFactors = FALSE)
data
colls <- c()
spec=c("$","%","&")
for(col in names(data)) {
if(length(strings[stringr::str_detect(data[,col], spec)]) >= 1){
print("HORRAY")
colls <- c(collls, col)
}
else print ("NOOOOOOOOOO")
}
for(col in names(data)) {
if(any(data[,col]) %in% spec){
print("HORRAY")
colls <- c(collls, col)
}
else print ("NOOOOOOOOOO")
}
Может ли кто-нибудь пролить свет на хороший способ решить эту проблему.
EDIT:
Конечной целью является, чтобы иметь вектор с именем имен столбцов, которые отвечают этим критериям. Извините за мой плохой С.О. вопрос, но, надеюсь, это поможет с тем, что я пытаюсь сделать
Есть ли смысл иметь данные в столбцах, а не как строки (одна строка в строке)? – Gregor
Вот как это делается, и мне также придется перебирать логические, числовые и т. Д. Столбцы. Я предполагаю, что я мог бы извлечь их и сохранить в виде вектора, но в конце дня цель состоит в том, чтобы получить имя столбца для переменной, которая содержит специальный символ и т. Д. – AGUY
Обычно вы получаете лучшие результаты, если вы включаете цель вашего «конца дня» в вашем вопросе. – Gregor