列表输出被截断 - 如何在 R 中使用 str() 扩展列出的变量

问题描述 投票:0回答:4

我有一个包含 600 多个变量的 data.frame

df
。 我正在编写一个自动创建列的函数,并且需要对它们进行一次目视检查。

str
函数提供了很好的总结:

str(df)
'data.frame':   29 obs. of  602 variables:
 $ uniqueSessionsIni: POSIXct, format: "2015-01-05 15:00:00" "2015-01-05 16:00:00" "2015-01-05 17:00:00" ...
 $ uniqueSessionsEnd: POSIXct, format: "2015-01-05 15:59:00" "2015-01-05 16:59:00" "2015-01-05 17:59:00" ...
 $ m0p0             : POSIXct, format: "2015-01-05 15:00:00" "2015-01-05 15:00:00" "2015-01-05 15:00:00" ...
 $ m1p0             : POSIXct, format: "2015-01-05 15:01:00" "2015-01-05 15:01:00" "2015-01-05 15:01:00" ...
 $ m2p0             : POSIXct, format: "2015-01-05 15:02:00" "2015-01-05 15:02:00" "2015-01-05 15:02:00" ...    

并且继续...
但截断输出,如下所示:

$ m33p1            : POSIXct, format: "2015-01-05 15:34:00" "2015-01-05 15:34:00" "2015-01-05 15:34:00" ...
$ m34p1            : POSIXct, format: "2015-01-05 15:35:00" "2015-01-05 15:35:00" "2015-01-05 15:35:00" ...
$ m35p1            : POSIXct, format: "2015-01-05 15:36:00" "2015-01-05 15:36:00" "2015-01-05 15:36:00" ...
$ m36p1            : POSIXct, format: "2015-01-05 15:37:00" "2015-01-05 15:37:00" "2015-01-05 15:37:00" ...
[list output truncated]

如何显示 602 个变量的完整列表?

r dataframe output truncated
4个回答
110
投票

您可以使用参数

list.len

str(df, list.len=ncol(df))

如果您想打印更多观察结果,您可以设置参数

vec.len
,还可以查看
?str
以获取所有参数的文档。


13
投票

通过使用参数list.len,可以选择要列出的数据框中的变量数量。有两种选择:

a) 您选择要列出的变量数量;

str(df, list.len = 602) # in this case I'm listing 602 variables.

b)您选择列出数据框的变量总数(如user1981275所述);

str(df, list.len = ncol(df))

查看 R 帮助以获取更多信息

> ?str

1
投票

补充一下,如果您想更改

str()
参数
list.len
的默认设置为99,请使用

options(str = strOptions(list.len = 9999))

然后

str(df)
将立即显示所有变量而不被截断。


0
投票

作为一种解决方法(如果一次检查 600 多个变量变得难以承受),您可以先选择下一个子集来重点关注它。

df[, 201:400] |>
  str()

或使用 dplyr

df |>
  select(201:400) |>
  str()

等等。

© www.soinside.com 2019 - 2024. All rights reserved.