tibble(以前是tbl_df)是由r中dplyr数据帧操作包创建的数据帧的一个版本。它防止意外调用数据帧时输出长表。
一旦数据帧被tibble/tbl_df包装,是否有一个命令来查看整个数据帧(数据帧的所有行和列)?
如果我使用df[1:100,],我将看到所有100行,但如果我使用df[1:101,],它将只显示前10行。我想轻松地显示所有行,以快速滚动它们。
是否有dplyr命令来抵消这一点,或者有一种方法来展开数据帧?
tibble(以前是tbl_df)是由r中dplyr数据帧操作包创建的数据帧的一个版本。它防止意外调用数据帧时输出长表。
一旦数据帧被tibble/tbl_df包装,是否有一个命令来查看整个数据帧(数据帧的所有行和列)?
如果我使用df[1:100,],我将看到所有100行,但如果我使用df[1:101,],它将只显示前10行。我想轻松地显示所有行,以快速滚动它们。
是否有dplyr命令来抵消这一点,或者有一种方法来展开数据帧?
当前回答
你可以使用as.data.frame或print.data.frame。
如果希望将其作为默认值,可以更改dplyr的值。print_max选项。
options(dplyr.print_max = 1e9)
其他回答
如果你想要使用管道,并且发现自己想要看到整个tibble,这里有一个函数showAll()的解决方案:
showAll<-function(tbl_df){
print(tbl_df,n=nrow(tbl_df))
}
require(tibble)
#Truncated tibble (default)
mtcars %>% as_tibble()
#Full size tibble
mtcars %>% as_tibble() %>% showAll()
你可以在Rstudio中使用View()更方便地打印它:
df %>% View()
View(df)
tibble小插图有一个更新的方式来改变它的默认打印行为:
你可以用选项控制默认外观: 选项(支柱。Print_max = n,柱子。Print_min = m):如果超过n行,则只打印前m行。使用选项(支柱。print_max = Inf)总是显示所有行。
选项(支柱。Width = n):使用n个字符槽水平显示数据。如果n > getOption("width"),这将导致多层。使用选项(支柱。width = Inf)总是打印所有列,而不管屏幕的宽度。
例子
这将始终打印所有行:
options(pillar.print_max = Inf)
这实际上不会将打印限制在50行:
options(pillar.print_max = 50)
但这将限制打印50行:
options(pillar.print_max = 50, pillar.print_min = 50)
你也可以用
print(tbl_df(df), n=40)
或者在管道操作员的帮助下
df %>% tbl_df %>% print(n=40)
要打印所有行,指定tbl_df %>% print(n = Inf)
编辑31.07.2021: 在> dplyr 1.0.0
Warning message:
`tbl_df()` was deprecated in dplyr 1.0.0.
Please use `tibble::as_tibble()` instead.
df %>% as_tibble() %>%打印(n=40)
你可以使用as.data.frame或print.data.frame。
如果希望将其作为默认值,可以更改dplyr的值。print_max选项。
options(dplyr.print_max = 1e9)