我在R中创建了带有命令data.frame的A,但是A的数据类型是" list",我已经尝试使用as.data.frame将A转换为数据框但是它工作,其他人有相同的经验吗?代码如下:
A <- data.frame(rep(1,5), row.names=c("A","B","C","D","E"), check.rows = FALSE, check.names = FALSE)
mode(A)
A1 <- as.data.frame(A)
mode(A1)
答案 0 :(得分:2)
由于data.frame
是list
,每个list
元素(column
)的长度相同,mode
会返回list
。我们可以使用
class(A)
#[1] "data.frame"
和
is.data.frame(A)
#[1] TRUE
来自@ RHertel的作品
is.list(A)
#[1] TRUE
或
str(A)
#'data.frame': 5 obs. of 1 variable:
# $ rep(1, 5): num 1 1 1 1 1
dput(A)
确认data.frame
也是list
。
但是,list
也可以有相同的长度而不是data.frame
l1 <- as.list(1:5)
mode(l1)
#[1] "list"
class(l1)
#[1] "list"