在R的str()函数上设置列限制

时间:2017-01-05 16:40:04

标签: r

如果你给它一个包含(例如)UUID向量的数据框,R str函数到达第182列,这看起来非常荒谬,并且很难找到。有哪些替代方案,或者我可以str遵守硬列限制吗?

1 个答案:

答案 0 :(得分:1)

经过一些搜索帮助文件后,我发现了一些可能引起关注的争论。

 str(df)
'data.frame':   10 obs. of  3 variables:
 $ a: int  1 2 3 4 5 6 7 8 9 10
 $ b: num  -1.207 0.277 1.084 -2.346 0.429 ...
 $ c: Factor w/ 10 levels "Alabama","Alaska",..: 1 2 3 4 5 6 7 8 9 10

然后,您可以使用list.len参数来减少显示在前n个列中的列数。

# show the first two columns
str(df, list.len=2)
'data.frame':   10 obs. of  3 variables:
 $ a: int  1 2 3 4 5 6 7 8 9 10
 $ b: num  -1.207 0.277 1.084 -2.346 0.429 ...
  [list output truncated]

此处的缺点是它不允许您跳过列或单独选择它们。您还可以使用vec.len限制为每个向量显示的示例元素的数量,但这显然不会影响因子变量。

str(df, vec.len=1)
'data.frame':   10 obs. of  3 variables:
 $ a: int  1 2 ...
 $ b: num  -1.21 ...
 $ c: Factor w/ 10 levels "Alabama","Alaska",..: 1 2 ...

数据

set.seed(1234)
df <- data.frame(a=1:10, b=rnorm(10), c=state.name[1:10])