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

R:如何写出一个data.frame,这样我就可以将它粘贴到其中,以便其他人阅读?,r,dataframe,R,Dataframe,我有一个大的data.frame,在打印时显示了一些奇怪的属性。我想在Stackoverflow上问一个关于它的问题,要做到这一点,我想把data.frame写出来,我可以将它粘贴到一个表单中,这样其他人就可以轻松地运行它,并将它重新放回data.frame对象中。有没有一个简单的方法来实现这一点?另外,如果它确实很长,我应该使用粘贴箱而不是直接粘贴在这里吗?要直接回答您的问题,最简单的方法是使用summary()或head()显示有关数据帧的信息。我建议不要将实际数据粘贴到SO问题中,而是提供

我有一个大的data.frame,在打印时显示了一些奇怪的属性。我想在Stackoverflow上问一个关于它的问题,要做到这一点,我想把data.frame写出来,我可以将它粘贴到一个表单中,这样其他人就可以轻松地运行它,并将它重新放回data.frame对象中。有没有一个简单的方法来实现这一点?另外,如果它确实很长,我应该使用粘贴箱而不是直接粘贴在这里吗?

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


最后,如果数据在打印时表现出奇怪的行为,为什么不提供用于进行打印的代码和一些示例打印本身。

dump
在数据帧不是很大时效果很好。

这是一个很好的问题

以下是我试图给出的答案——以建议的形式提出更好的问题,并提供问题所附带的数据。我可能违反了下面的每一条建议,但至少我有一些东西可以在将来参考,也许对其他人也有用

首先,我怀疑问问题的人更喜欢回答

  • 具有足够的抽象性,以便 将来他们可以解决一般的问题 问题的类别 当前问题属于;及

  • 有足够的实际指导 (通常这意味着实际的R代码)到 实际上解决了这个问题 就在我们面前

再次强调:问题中的抽象(通常)会导致答案中的抽象,这意味着答案更有用,但也增加了你得到可接受答案的可能性——社区以前不太可能看到过确切的数据集;这里的人更有可能识别出一种模式。但过多的数据可能会掩盖这一模式

第二,充分解释一个问题所需的数据量其实并不重要——重要的是试图回答这个问题的人需要多长时间才能将数据输入到他们的R环境中。BaseR发行版中提供了50000行的数据集——这无关紧要,因为我只需几下键盘就可以将数据输入R。更重要的是,如果你可以参考其中一个数据集,那么你就不必费心在问题窗口中剪切和粘贴内容。相比之下,我真的尽量避免强迫人们从SO页面上刮去哪怕是几行数据,以便他们能够正确理解我的问题(除了德克,他在脑子里做计算。)

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


Fourth,如果数据可以通过公式或算法“提供”,那么只需提供即可。例如,如果一个问题与随机游走有关,我们不需要数据,只要说“随机游走”,这里的几乎每个人都能在短代码行中生成数据。

首先,Drew的想法非常好

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

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


最后,看看这个问题的答案:

如果你认为这是一个很好的问题,你应该投票表决。只是说:)我建议将rdata文件托管在某个地方而不是csv,只是为了确保日期、因素等内容是相同的,并且能够代表OP在其系统上的内容。