Код эффективно преобразует каждый вектор в список и объединяет результаты по строкам в общий фрейм данных.

аюсь преобразовать список векторов (по сути, многомерный массив) в фрейм данных, но каждый раз, когда я пытаюсь, я получаю неожиданные результаты.

Моя цель - создать пустой список, заполнить его в цикле for векторами, содержащими информацию об этой итерации цикла, а затем преобразовать его в кадр данных после его завершения.

> vectorList <- list()
> for(i in  1:5){
+     vectorList[[i]] <- c("number" = i, "square root" = sqrt(i))
+ }
> vectorList

Выходы:

> [[1]]
>      number square root 
>           1           1 
> 
> [[2]]
>      number square root 
>    2.000000    1.414214 
> 
> [[3]]
>      number square root 
>    3.000000    1.732051 
> 
> [[4]]
>      number square root 
>           4           2 
> 
> [[5]]
>      number square root 
>    5.000000    2.236068

Теперь я хочу, чтобы это стало фреймом данных с 5 наблюдениями 2 переменных, но пытаюсь создать фрейм данных из 'vectorList'

numbers <- data.frame(vectorList)

приводит к 2 наблюдениям 5 переменных.

Странно, но даже с reshape2 это не будет вызвано (что, я знаю, было бы ужасной работой, но я пытался).

У кого-нибудь есть понимание?

Ответы на вопрос(4)

Ваш ответ на вопрос