【发布时间】:2012-08-28 23:27:01
【问题描述】:
我有一个长度为 100 的向量 t,想将它分成 30 和 70 个值,但这些值应该是随机选择的,不能替换。所以这30个值都不允许在70个值的子向量中,反之亦然。
我知道 R 函数 sample,我可以使用它从向量中随机选择有无替换的值。但是,即使我使用 replace = FALSE,我也必须运行 sample 函数两次,一次选择 30,一次选择 70 个值。这意味着 30 个值中的一些值可能在 70 个值中,反之亦然。
有什么想法吗?
【问题讨论】:
-
我很困惑。为什么不能使用
sample()随机选择 30 个,然后选择除 30 个随机样本之外的所有 other 作为另一组。根据定义,这两个集合是唯一的。 -
@GavinSimpson,这几乎就是我在回答中所做的,只是添加了一个分组变量来分割;但是,我仍然不确定他们到底在寻找什么。
-
感谢您的所有回答!我尝试了不同的解决方案,它们似乎都有效。我刚刚遇到了一个不同的 R 包:ftp.ee.freebsd.org/pub/pkgsrc/current/pkgsrc/math/R-e1071/…,它实际上是我想要的。但是,我根本没有安装它。我下载了 .tgz 文件并尝试安装它,但它失败了......
-
你在运行 FreeBSD 吗?如果不是,你为什么要安装它的 tarball 之一?使用你的 R 风格提供的任何工具来安装包,但如果你有互联网,启动 R 并执行
install.packages("e1071"), depend = TRUE)来安装包,然后library("e1071")加载它以准备在当前会话中使用。 -
您能否也回复 cmets 要求澄清您想要实现的目标?如果
t具有非唯一值,则会出现一些混乱,并且大多数答案都会失败。
标签: r random sample random-sample