我有一个包含 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 个变量的完整列表?
您可以使用参数
list.len
:
str(df, list.len=ncol(df))
如果您想打印更多观察结果,您可以设置参数
vec.len
,还可以查看?str
以获取所有参数的文档。
通过使用参数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
补充一下,如果您想更改
str()
参数list.len
的默认设置为99,请使用
options(str = strOptions(list.len = 9999))
然后
str(df)
将立即显示所有变量而不被截断。
作为一种解决方法(如果一次检查 600 多个变量变得难以承受),您可以先选择下一个子集来重点关注它。
df[, 201:400] |>
str()
或使用 dplyr
df |>
select(201:400) |>
str()
等等。