Есть ли способ зациклить несколько фреймов данных, чтобы отбросить одни и те же столбцы? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть разные фреймы данных в R, для которых я хотел бы отбросить те же четыре столбца, повторяя процесс для всех из них в течение цикла.

Когда я использую подмножество и выбираю один фрейм данных, строка кода работает нормально. Тем не менее, я всегда получаю какую-то ошибку, когда пытаюсь сделать какую-то итерацию. Ниже я сделал несколько попыток

Допустим, у меня есть два фрейма данных A и B, для которых я хочу отбросить столбцы sex, age, citizen и unit.

Хорошо, когда я использую подмножество и выбираю для одного фрейма данных:

A=subset(A, select = -c(sex,age,citizen,unit))

Затем я попытался создать список из двух фреймов данных и использовать цикл for следующим образом:

df.list <- list(A, B)

for(i in 1:2) {

  df.list<- subset(i, select = -c(sex,age,citizen,unit))

}

но я получаю сообщение об ошибке:

Ошибка в subset.default: отсутствует аргумент "subset", без значения по умолчанию

1 Ответ

0 голосов
/ 26 апреля 2019

Я не уверен в этом, потому что у меня сейчас нет доступа, чтобы проверить это, но не должно ли это быть примерно так:

for (i in 1:2) {
    df.list <- subset(df.list[i], select = ...)
}

Потому что вы не хотите звонитьподмножество с первым параметром = 1, но с первым параметром = i-тым элементом в списке.

...