반응형
열이 목록 인 data.frame 만들기
목록 열을 추가하는 방법을 알고 있습니다.
> df <- data.frame(a=1:3)
> df$b <- list(1:1, 1:2, 1:3)
> df
a b
1 1 1
2 2 1, 2
3 3 1, 2, 3
이것은 작동하지만 그렇지 않습니다.
> df <- data.frame(a=1:3, b=list(1:1, 1:2, 1:3))
Error in data.frame(1L, 1:2, 1:3, check.names = FALSE, stringsAsFactors = TRUE) :
arguments imply differing number of rows: 1, 2, 3
왜?
또한 df
한 번의 호출로 (위) 를 만드는 방법 이 data.frame
있습니까?
다음에서 약간 모호함 ?data.frame
:
목록이나 데이터 프레임 또는 행렬이 'data.frame'에 전달되면 각 구성 요소 또는 열이 별도의 인수로 전달 된 것처럼 보입니다 ( ' "model.matrix"'클래스의 행렬과 'I로 보호되는 행렬 제외). ').
그래서
data.frame(a=1:3,b=I(list(1,1:2,1:3)))
작동하는 것 같습니다.
을 (를) 사용하는 경우 data.tables
다음 전화를 피할 수 있습니다.I()
library(data.table)
# the following works as intended
data.table(a=1:3,b=list(1,1:2,1:3))
a b
1: 1 1
2: 2 1,2
3: 3 1,2,3
data_frame
S (다양 호출은 tibbles
, tbl_df
, tbl
)에서 기본적으로 사용하는 컬럼의 생성 지원 data_frame
생성자를. 이를 사용하려면 tibble
, dplyr
또는 tidyverse
.
> data_frame(abc = letters[1:3], lst = list(1:3, 1:3, 1:3))
# A tibble: 3 × 2
abc lst
<chr> <list>
1 a <int [3]>
2 b <int [3]>
3 c <int [3]>
그들은 실제로 data.frames
후드 아래에 있지만 다소 수정되었습니다. 거의 항상 정상적으로 사용할 수 있습니다 data.frames
. 내가 찾은 유일한 예외는 사람들이 부적절한 수업 검사를 할 때 문제를 일으킨다는 것입니다.
> #no problem
> data.frame(x = 1:3, y = 1:3) %>% class
[1] "data.frame"
> data.frame(x = 1:3, y = 1:3) %>% class == "data.frame"
[1] TRUE
> #uh oh
> data_frame(x = 1:3, y = 1:3) %>% class
[1] "tbl_df" "tbl" "data.frame"
> data_frame(x = 1:3, y = 1:3) %>% class == "data.frame"
[1] FALSE FALSE TRUE
> #dont use if with improper testing!
> if(data_frame(x = 1:3, y = 1:3) %>% class == "data.frame") "something"
Warning message:
In if (data_frame(x = 1:3, y = 1:3) %>% class == "data.frame") "something" :
the condition has length > 1 and only the first element will be used
> #proper
> data_frame(x = 1:3, y = 1:3) %>% inherits("data.frame")
[1] TRUE
R 4 Data Science (무료) 에서 이에 대해 읽어 볼 것을 권장합니다 .
참고 URL : https://stackoverflow.com/questions/9547518/create-a-data-frame-where-a-column-is-a-list
반응형
'UFO ET IT' 카테고리의 다른 글
Django 릴리스 1.5 : 'url'에는 비어 있지 않은 첫 번째 인수가 필요합니다. (0) | 2020.11.11 |
---|---|
스칼라-제네릭의 모든 대 밑줄 (0) | 2020.11.11 |
SVG에 멋진 글꼴 아이콘을 어떻게 포함합니까? (0) | 2020.11.10 |
차이점 (0) | 2020.11.10 |
2 ^ 32 이상의 열거 형 플래그 (0) | 2020.11.10 |