由于我的评论触发了一些反应,我阅读了(非常有用的)帖子,其中介绍了如何创建可重现的示例,我认为这个问题可能与此非常相关。
我注意到有时候用户(越来越多)在这里询问解决方案,但是介绍总是相同的“我有一个非常大的数据集…”,因此他们没有展示任何代码。
所以我想知道是否有一种方法可以创建数据的小样本,但不是仅使用
浏览时,我在这里找到了一个好的解决方案,现在我将在这里写下它之前的问题:
我注意到有时候用户(越来越多)在这里询问解决方案,但是介绍总是相同的“我有一个非常大的数据集…”,因此他们没有展示任何代码。
所以我想知道是否有一种方法可以创建数据的小样本,但不是仅使用
head(<data>, n)
,因为通常(实际上大多数情况下)有一些因素等对于问题的目的非常重要,并且为了成功,提供的示例数据集必须具有原始数据中不同因素的(即使只有)几行。这导致经典的dput(head(data))
无用。浏览时,我在这里找到了一个好的解决方案,现在我将在这里写下它之前的问题:
有没有其他方法来做到这一点(当然有)?更有效率的方法?或者更“稳定”,即保证所有因素的存在?
以下是我找到的解决方案:
set.seed(123)
samp_dat <- iris[ sample(1:nrow(iris), 10, replace = F ), ]
samp_dat
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
44 5.0 3.5 1.6 0.6 setosa
118 7.7 3.8 6.7 2.2 virginica
61 5.0 2.0 3.5 1.0 versicolor
130 7.2 3.0 5.8 1.6 virginica
138 6.4 3.1 5.5 1.8 virginica
7 4.6 3.4 1.4 0.3 setosa
77 6.8 2.8 4.8 1.4 versicolor
128 6.1 3.0 4.9 1.8 virginica
79 6.0 2.9 4.5 1.5 versicolor
65 5.6 2.9 3.6 1.3 versicolor
编辑
目前提供的解决方案非常好(我已经点赞了它们),当然我感谢发布者,但请考虑以下:目的是创建原始数据集的简单示例,因此我邀请大家尽可能发布简单的解决方案,因为请求帮助的用户可能对R没有深入的了解,所以我认为应避免冗长的解决方案并避免使用外部包(即使我不得不承认dplyr
的解决方案非常简单[当然需要一些dplyr
的知识])。