gpt4 book ai didi

r - 如何使 'head'自动应用于输出?

转载 作者:行者123 更新时间:2023-12-04 13:41:37 24 4
gpt4 key购买 nike

我有一堆大型数据框,因此每次我要显示它们时,都必须使用head:

head( blahblah(somedata) )

在头几百次之后,打字总是一直很老,所以我希望有一种简单的方法来做到这一点。与Java相比,R的很酷的事情之一就是,如果您知道 secret 咒语,那么这样的事情通常真的很容易。

我搜索了选项,发现 max.print几乎可以用,除了现在有时间延迟。
head( blahblah(somedata) )

....是瞬时的(在我的感知范围内)
options(max.print=100)
blahblah(somedata)

....大约需要3秒钟,比输入 head还要长

打印大型数据结构时,是否有某种方法可以自动应用 head

一段代码重现此行为:
long_dataset = data.frame(a = runif(10e5), 
b = runif(10e5),
c = runif(10e5))
system.time(head(long_dataset))
options(max.print = 6)
system.time(print(long_dataset))

最佳答案

我会同意@thelatemail的建议,即重新定义print.data.frame:

print.data.frame <- function(df) {
if (nrow(df) > 10) {
base::print.data.frame(head(df, 5))
cat("----\n")
base::print.data.frame(tail(df, 5))
} else {
base::print.data.frame(df)
}
}

data.frame(x=1:100, y=1:100)
# x y
# 1 1 1
# 2 2 2
# 3 3 3
# 4 4 4
# 5 5 5
# ----
# x y
# 96 96 96
# 97 97 97
# 98 98 98
# 99 99 99
# 100 100 100

一个更精细的版本可以将所有内容排列在一起,并避免重复标题,但是您可以理解。

您可以将此类函数放在 .RprofileRprofile.site文件中(请参见 ?Startup),因此每次启动R session 时该函数都将存在。

关于r - 如何使 'head'自动应用于输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com