【问题标题】:convert list type to data frame type in R, data.frame and as.data.frame does not wok将列表类型转换为 R 中的数据帧类型,data.frame 和 as.data.frame 无法正常工作
【发布时间】:2016-06-14 06:58:50
【问题描述】:

我在 R 中使用命令 data.frame 创建了 A,但 A 的数据类型是“列表”,我已经尝试使用 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)

【问题讨论】:

  • data.framelist。检查is.data.frame(A)# [1] TRUE

标签: r list dataframe


【解决方案1】:

由于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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多