как выбрать строки и использовать функцию apply в списке с элементами разной длины - PullRequest
0 голосов
/ 08 февраля 2019
a <- list( G1 = data.frame(age = "8", gender = "M"), 
           G2 = data.frame(age = c("10","11"), gender = c("M", "F")), 
           G3 = data.frame(age = c("9","6"), gender = c("F", "F")) )

, как показано, все переменные вводятся как символ, затем я хочу восстановить age как число, а gender как символ.запустить lapply, я получил результат, который действительно смутил меня.Что не так?

lapply(a, function(x) {x[,1] <- as.numeric(x[,1])} )

$G1
[1] 1

$G2
[1] 1 2

$G3
[1] 2 1

1 Ответ

0 голосов
/ 08 февраля 2019

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

a[] <- lapply(a, function(x) {
    x[,1] <- as.numeric(as.character(x[,1]))
    x
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...