tôi biết làm thế nào để thêm một cột danh sách:Tạo một data.frame nơi một cột là một danh sách
> 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
này hoạt động, nhưng không:
> 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
Tại sao?
Ngoài ra, có cách nào để tạo df
(ở trên) trong một cuộc gọi đến data.frame
không?
Đối với những người quan tâm, "tôi" có nghĩa là "Ức chế sự tương tác/chuyển đổi đối tượng". Nó tạo ra một đối tượng giống hệt nhau nhưng với "AsIs" nối thêm vào tập các lớp. Lớp "AsIs" thực sự chỉ được đọc bởi các hàm data.frame() và công thức(). Tìm hiểu thêm [tại đây] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/AsIs.html). – pwilcox