R:有没有办法查看列表
问题描述:
当我有data.frame
对象时,我可以简单地做View(df)
,然后我在一个漂亮的表格中看到data.frame
(即使我看不到所有的行,我仍然知道我的数据包含哪些变量)。但是当我有一个list
对象时,同样的命令不起作用。而当名单很大时,我不知道名单是什么样子。我试过head(mylist)
,但我的控制台根本无法一次显示所有信息。在R中查看大型列表的有效方法是什么?R:有没有办法查看列表
答
这里有一个一些方式来看待一个列表:
看看列表中的一个元素:
myList[[1]]
看列表中的一个元件的头部:
head(myList[[1]])
查看在列表整齐的元素:
summary(myList)
查看(更深入的)的列表的结构:
str(myList)
另外,上面你的建议可以做一个自定义打印方法,例如:
printList <- function(list) {
for (item in 1:length(list)) {
print(head(list[[item]]))
}
}
以上将打印列表中每个项目的头部。
答
如果你有一个非常大的列表,你可以看看它的一部分使用
str(myList, max=1)
+0
很棒的建议,imo。 –
答
这是giraffehere的优秀的简单编辑回答。
对于某些列表,仅打印嵌套对象子集的头部以便在head()的输出上面打印给定槽的名称是方便的。
参数:
#'@param list a list object name
#'@param n an integer - the the objects within the list that you wish to print
#'@param hn an integer - the number of rows you wish head to print
USAGE:的printList(MYLIST中,n = 5,HN = 3)
printList <- function(list, n = length(list), hn = 6) {
for (item in 1:n) {
cat("\n", names(list[item]), ":\n")
print(head(list[[item]], hn))
}
}
对于数值列表,输出可以是更易读如果位数是有限的到3,例如:
printList <- function(list, n = length(list), hn = 6) {
for (item in 1:n) {
cat("\n", names(list[item]), ":\n")
print(head(list[[item]], hn), digits = 3)
}
}
'print(mylist)'? –
您可以编写自定义打印方法。 –
@JakubKania由于某些原因,我的RStudio控制台不显示列表的顶部?我假设我的列表太大了(148MB) – Adrian