R:有办法查看清单

Adr*_*ian 8 r list

当我有data.frame对象时,我可以简单地做View(df),然后我会看到data.frame一个漂亮的表(即使我看不到所有的行,我仍然知道我的数据包含哪些变量).但是当我有一个list对象时,同样的命令不起作用.当列表很大时,我不知道列表是什么样的.我试过head(mylist)但我的控制台根本无法一次显示所有信息.查看R中的大型列表有什么有效的方法?

Ren*_*rop 9

str用来查看任何对象的结构,特别是复杂的列表

Rstudio通过单击数据窗口中的蓝色箭头向您显示结构:

在此输入图像描述


gir*_*ere 9

以下是查看列表的几种方法:

查看列表的一个元素:

myList[[1]]
Run Code Online (Sandbox Code Playgroud)

查看列表中一个元素的头部:

head(myList[[1]])
Run Code Online (Sandbox Code Playgroud)

整齐地查看列表中的元素:

summary(myList)
Run Code Online (Sandbox Code Playgroud)

查看列表的结构(更深入):

str(myList)
Run Code Online (Sandbox Code Playgroud)

或者,如上所述,您可以制作自定义打印方法:

printList <- function(list) {

  for (item in 1:length(list)) {

    print(head(list[[item]]))

  }
}
Run Code Online (Sandbox Code Playgroud)

以上将打印出列表中每个项目的头部.


Chr*_*son 7

如果你有一个非常大的列表,你可以使用它查看其中的一部分

str(myList, max=1)
Run Code Online (Sandbox Code Playgroud)


MyS*_*ddy 6

您也可以使用名为listviewer的软件包

library(listviewer)
jsonedit( myList )
Run Code Online (Sandbox Code Playgroud)


may*_*cca 5

您可以使用 family 检查数据框的“头部” lapply

lapply(yourList, head)
Run Code Online (Sandbox Code Playgroud)

这将返回您列表中的“头”。

例如:

df1 <- data.frame(x = runif(3), y = runif(3))
df2 <- data.frame(x = runif(3), y = runif(3))
dfs <- list(df1, df2)

lapply(dfs, head)
Run Code Online (Sandbox Code Playgroud)

返回:

> lapply(dfs, head)
[[1]]
          x         y
1 0.3149013 0.8418625
2 0.8807581 0.5048528
3 0.2490966 0.2373453

[[2]]
          x         y
1 0.4132597 0.5762428
2 0.0303704 0.3399696
3 0.9425158 0.5465939
Run Code Online (Sandbox Code Playgroud)

head您可以使用与 data.frames 相关的任何函数来代替“ ”,即namesnrow...