Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
r强制列表到数据帧_R_List_Nested Lists - Fatal编程技术网

r强制列表到数据帧

r强制列表到数据帧,r,list,nested-lists,R,List,Nested Lists,我试图获取一个嵌套列表并将内容存储到一个数据框中 # install.packages('Hmisc') listObj <- Hmisc::describe(iris) dataframe <- c() for(i in 1:4){ subList <- listObj[[i]] rowadd <- c( subList$descript, subList$counts[['n']], subList$counts[['missi

我试图获取一个嵌套列表并将内容存储到一个数据框中

# install.packages('Hmisc')

listObj <- Hmisc::describe(iris)

dataframe <- c()

for(i in 1:4){
  subList <- listObj[[i]]

  rowadd <- c(
    subList$descript,
    subList$counts[['n']],
    subList$counts[['missing']],
    subList$counts[['distinct']],
    as.character(unname(paste(subList$extremes[1:5], collapse = ', '))),
    as.character(unname(paste(subList$extremes[6:10], collapse = ', ')))
  )

  dataframe <- rbind(dataframe, rowadd)

}
dataframe <- data.frame(dataframe, row.names = NULL)
colnames(dataframe) <- c('description', 'n', 'missing', 'distinct', 'lowest', 'highset')
该列表是
Hmsic::descripe
函数的输出。这是一个测试用例

  list <- Hmisc::describe(iris)
预期输出将有两个数据帧,其中以下列表对象转换为列

对于基于连续变量的列表对象,预期的数据帧如下所示

   description               n       missing  distinct    lowest                       highest
   Sepal.Length            150        0            35     4.3, 4.4, 4.5, 4.6, 4.7      7.3, 7.4, 7.6, 7.7, 7.9
   Sepal.Width             150        0            23     2.0, 2.2, 2.3, 2.4, 2.5      3.9, 4.0, 4.1, 4.2, 4.4
   Petal.Length            150        0            43     1.0, 1.1, 1.2, 1.3, 1.4      6.3, 6.4, 6.6, 6.7, 6.9
   Petal.Width             150        0            22     0.1, 0.2, 0.3, 0.4, 0.5      2.1, 2.2, 2.3, 2.4, 2.5
      description      n       missing   distinct   Values                           Frequency          
      Species        150        0        3          setosa, versicolor,  virginica   50,50,50
对于基于离散变量的列表对象,预期的数据帧如下所示

   description               n       missing  distinct    lowest                       highest
   Sepal.Length            150        0            35     4.3, 4.4, 4.5, 4.6, 4.7      7.3, 7.4, 7.6, 7.7, 7.9
   Sepal.Width             150        0            23     2.0, 2.2, 2.3, 2.4, 2.5      3.9, 4.0, 4.1, 4.2, 4.4
   Petal.Length            150        0            43     1.0, 1.1, 1.2, 1.3, 1.4      6.3, 6.4, 6.6, 6.7, 6.9
   Petal.Width             150        0            22     0.1, 0.2, 0.3, 0.4, 0.5      2.1, 2.2, 2.3, 2.4, 2.5
      description      n       missing   distinct   Values                           Frequency          
      Species        150        0        3          setosa, versicolor,  virginica   50,50,50

完成这项任务的任何帮助都是值得赞赏的。谢谢。首先
Hmsic
有打字错误,它是
Hmisc

您可以使用
$
访问列表对象的元素

我不认为有优雅的功能来制作数据帧

下面是连续数据帧的最小示例

# install.packages('Hmisc')

listObj <- Hmisc::describe(iris)

dataframe <- c()

for(i in 1:4){
  subList <- listObj[[i]]

  rowadd <- c(
    subList$descript,
    subList$counts[['n']],
    subList$counts[['missing']],
    subList$counts[['distinct']],
    as.character(unname(paste(subList$extremes[1:5], collapse = ', '))),
    as.character(unname(paste(subList$extremes[6:10], collapse = ', ')))
  )

  dataframe <- rbind(dataframe, rowadd)

}
dataframe <- data.frame(dataframe, row.names = NULL)
colnames(dataframe) <- c('description', 'n', 'missing', 'distinct', 'lowest', 'highset')
#安装程序包('Hmisc'))
listObj