繁体   English   中英

R:如何写出一个data.frame,以便我可以将其粘贴到SO中供其他人阅读?

[英]R: How to write out a data.frame so that I can paste it into SO for others to read?

我有一个大的data.frame在绘制时显示一些奇怪的属性。 我想在Stackoverflow上问一个关于它的问题,为此,我想以一种形式编写data.frame,我可以将其粘贴到SO中,而其他人可以轻松地运行它并将其重新放入data.frame对象再次。 有没有一种简单的方法来实现这一目标? 另外,如果它真的很长,我应该使用粘贴箱而不是直接粘贴在这里吗?

要直接回答您的问题,最简单的方法是使用summary()head()来显示有关数据框的信息。 我建议不要将实际数据粘贴到SO问题中,而是提供公共链接以供社区使用。 如果您还没有看到它, box.net服务为在线协作提供了大量的免费空间。

最后,如果数据在绘制时表现出奇怪的行为,为什么不提供用于绘制图形的代码和一些示例图。

首先,德鲁的想法非常好。

此外,如果您减少数据并隔离“怪异”部分,则使用dput() 这是允许其他人加载它的最直接的方式。 虽然您需要先将数据减少到合理的数量。

否则,将其作为CSV文件发布在可通过HTTP访问的位置,人们可以直接使用read.csv读取该read.csv 虽然要求人们帮助您处理非常大的数据集是不合理的。

最后,看看这个问题的答案: 如何在R中加载示例数据集?

这是一个很好的问题。

这是我尝试回答的问题 - 以建议的形式提出更好的问题,而不是提出问题所附的数据。 我可能违反了以下这些建议中的每一个,但至少我将来会提到一些东西,也许它对其他人也有用。

首先 ,我怀疑提出问题的人更喜欢答案

  • 具有足够的抽象,以便将来可以解决当前问题所属的一般问题;

  • 有足够的实际指导(通常这意味着实际的R代码)来实际解决我们面前的问题。

再一次:你的问题中的抽象(通常)导致答案中的抽象,这意味着一个更有用的答案,但也增加了你实际得到一个可接受的答案的可能性 - 社区不可能在之前看到确切的数据集; 这里的人更有可能认出一种模式。 但是这种模式可能会被太多的数据所掩盖。

其次 ,充分解释问题所需的数据量并不重要 - 重要的是人们试图回答问题需要多长时间才能将数据导入其R环境。 基本R分布中提供的数据集为50,000行 - 无关紧要,因为我可以通过几次击键将数据导入R. 更重要的是,如果您可以参考其中一个数据集,那么您就不必在问题窗口中剪切和粘贴内容。 相比之下,我真的试图避免强迫人们从SO页面中删除几行数据,以便他们能够正确理解我的问题(除了Dirk,他在脑海中进行计算。)

第三 ,在问题(所有列)中剪切和粘贴数据集的整个宽度,除非绝对需要只是懒惰。 数据很少能代替简洁的问题描述。 我希望OP花费一两分钟来修剪他们的实际数据集,这样他们就不会提供比说明问题实际需要的数据更多的数据。

第四 ,如果数据可以通过公式或算法“提供”,那么只需提供即可。 例如,如果问题涉及随机游走,我们不需要数据,只需说“随机游走”,这里几乎每个人都能够用一小段代码生成数据。

当数据框不是很大时, dump工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM