r语言如何输出数据集过长,导致输出截断,怎么解决这个问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r语言如何输出数据集过长,导致输出截断,怎么解决这个问题相关的知识,希望对你有一定的参考价值。

你用write函数保存下来,你想保存txt就用write.txt(数据名,“名字.txt”)如果是表格用write.csv(数据对象名,“名字.csv”) 参考技术A 什么意思,啥玩意

查看数据帧的内容时是不是可以截断输出?

【中文标题】查看数据帧的内容时是不是可以截断输出?【英文标题】:Is it possible to truncate output when viewing the contents of dataframes?查看数据帧的内容时是否可以截断输出? 【发布时间】:2012-01-12 21:05:47 【问题描述】:

我有一个包含一些很长的“cmets”列的数据框。当我让它们显示时,它们被分成不同的块,很难跨行阅读。是否可以更改 R 中的设置或修改对 data.frame 的调用以截断一定长度的字符串?

示例:3 列数据框

data.frame(cbind(rep(1,5),rep(c("very very long obnoxious character string here" ,"dog","cat","dog",5)),rep(c("very very long obnoxious character string here" ,"dog","cat","dog",5))))

在我的屏幕上看到的结果数据框:

  X1                                             X2
1  1 very very long obnoxious character string here
2  1                                            dog
3  1                                            cat
4  1                                            dog
5  1                                              5
                                          X3
1 very very long obnoxious character string here
2                                            dog
3                                            cat
4                                            dog
5                                              5

【问题讨论】:

Printing dataframes with long strings in R 的可能重复项 【参考方案1】:

我推荐一种像这样的显式方式:

f <- function(x) data.frame(lapply(x, substr, 1, 5))

用法:

> f(d)
  X1    X2    X3
1  1 very  very 
2  1   dog   dog
3  1   cat   cat
4  1   dog   dog
5  1     5     5

虽然可以更改默认行为,但我不推荐:

body(format.data.frame)[[5]] <- quote(for (i in 1L:nc) rval[[i]] <- substr(format(x[[i]], ..., justify = justify), 1, 5))
unlockBinding("format.data.frame", baseenv())
assign("format.data.frame", format.data.frame, pos = baseenv())
lockBinding("format.data.frame", baseenv())
rm(format.data.frame)

用法:

> d
  X1    X2    X3
1  1 very  very 
2  1   dog   dog
3  1   cat   cat
4  1   dog   dog
5  1     5     5

【讨论】:

太棒了!我对正则表达式的探索还没有把我带到 substr ——现在我有了一个起点,可以将它添加到我的工具箱中。

以上是关于r语言如何输出数据集过长,导致输出截断,怎么解决这个问题的主要内容,如果未能解决你的问题,请参考以下文章

MySql 查询数据时间过长,导致程序报错 怎么解决

在r语言中如何删除某一列数据,急急急,求详细操作

R语言做的SVM如何输出正确率?

如何获取 gdb tui 程序集输出以显示指令?

达到输出大小限制后,缓冲数据被截断

R语言ggplot2可视化数据点注释标签显示不全发生边界截断问题解决实战