Перечислите целое или двойное число в R
У меня есть список из 1000 одиночных целых чисел. Мне нужно сделать некоторые математические вычисления, но они застряли в форме списка или символа. Как я могу переключить их, чтобы они были полезны?
данные образца:
> y [[1]]
[1] "7" "3" "1" "6" "7" "1" "7" "6" "5" "3" "1" "3" "3" "0" "6" "2" "4" "9"
[19] "1" "9" "2" "2" "5" "1" "1" "9" "6" "7" "4" "4" "2" "6" "5" "7" "4" "7"
[37] "4" "2" "3" "5" "5" "3" "4" "9" "1" "9" "4" "9" "3" "4" "9" "6" "9" "8"
[55] "3" "5" "2" "0" "3" "1" "2" "7" "7" "4" "5" "0" "6" "3" "2" "6" "2" "3"
[73] "9" "5" "7" "8" "3" "1" "8" "0" "1" "6" "9" "8" "4" "8" "0" "1" "8" "6" ...
Только первая пара строк.
Ответы
Ответ 1
Смотрите? unlist:
> x
[[1]]
[1] "1"
[[2]]
[1] "2"
[[3]]
[1] "3"
> y <- as.numeric(unlist(x))
> y
[1] 1 2 3
Если это не решит вашу проблему, укажите, что именно вы хотите сделать.
изменить:
Это еще проще:
> x <- list(as.character(1:3))
> x
[[1]]
[1] "1" "2" "3"
> y <-as.numeric(x[[1]])
> y
[1] 1 2 3
Ответ 2
Попробуйте это - объединение as.numeric()
и rbind()
:
> foo <- list("2", "4", "7")
> foo
[[1]]
[1] "2"
[[2]]
[1] "4"
[[3]]
[1] "7"
> bar <- do.call(rbind, lapply(foo, as.numeric))
> bar
[,1]
[1,] 2
[2,] 4
[3,] 7
>