52

我有一个df包含 600 多个变量的 data.frame。我正在编写一个自动创建列的函数,并且需要对它们进行一次目视检查。

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 个变量的完整列表?

4

3 回答 3

101

您可以使用参数list.len

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

如果您想打印更多观察结果,您可以设置参数vec.len,还可以查看?str所有参数的文档。

于 2015-03-06T08:46:07.440 回答
12

通过使用参数 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
于 2015-03-06T08:51:58.757 回答
0

只是补充一下,如果要更改设置为 99的str()参数 的默认值,请使用list.len

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

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

于 2021-05-20T20:07:12.267 回答