Привет, поэтому у меня возникли проблемы с циклическим просмотром моего фрейма данных и удалением столбцов на основе условия подавления = 1. Таким образом, цикл должен был бы пройти через каждый столбец df1 и удалить столбцы suppress = 1 для этой же переменной. Необходимо определить, что конкретная строка suppress = 1 имеет одинаковую переменную в обоих df.
Итак, есть два кадра данных. df1 содержит все данные, а df2 содержит условия, основанные на переменных df1.
df1 <- data.frame("ID" = c(1,2,3,4,5), "Age" = c(19,50,46,32,28))
df2 <- data.frame("Variable" = c("ID", "Age"), "Suppress" = c(1,0))
Основная проблема, с которой я сталкиваюсь, заключается в том, что цикл, который у меня сейчас есть, работает, когда я создаю кадр данных, такой как df1 и df2, но не для того, когда я импортирую файл csv и использую эти данные.
Может ли это быть формат фреймов данных или цикл должен быть настроен для работы с импортом CSV? Я подозреваю, что последнее.
Вот цикл, который у меня сейчас есть:
for(i in names(df1)){
if(df2$Variable == names(df1[i]) & df2$Suppress == 1){
df1[i] <- NULL
}
}
Другая версия ... по сути та же
for(i in names(df1)){
if(df2$Variable %in% names(df1[i]) & df2$Suppress == 1){
df1[i] <- NULL
}
}
Я не могу опубликовать CSV здесь, но я рекомендую попробовать запустить приведенный выше код с импортированным CSV-файлом, похожим на df1 и df2.
Примечание: и df1, и df2 импортируются как csv-файл.
Напомним: почему текущий цикл не работает с импортированными данными CSV и каковы альтернативные способы удаления столбцов на основе переменной подавления df2.
Спасибо