【发布时间】:2017-05-24 14:25:03
【问题描述】:
我有一个包含 100,000 行的大型数据框,我想添加一个列,其中的值是基于数据框中常用名称的另一个数据框的子集的样本。用例子可能更容易解释......
largeDF <- data.frame(colA = c('a', 'b', 'b', 'a', 'a', 'b'),
colB = c('x', 'y', 'y', 'x', 'y', 'y'),
colC = 1:6)
sampleDF <- data.frame(colA = c('a','a','a','a','b','b','b','b','b','b'),
colB = c('x','x','y','y','x','y','y','y','y','y'),
sample = 1:10)
然后我想在largeDF 中添加一个新列sample,这是sampleDF 中sample 列的随机样本,用于colA 和colB 的适当子集。
例如,对于第一行,值为a 和x,因此对于下一行(b 和y,该值将是1 或2 的随机样本) 这将是6, 7, 8, 9 or 10 的随机样本。
所以我们可以得到类似的结果:
rowA rowB rowC sample
1 a x 1 2
2 b y 2 9
3 b y 3 7
4 a x 4 2
5 a y 5 4
6 b y 6 8
任何帮助将不胜感激!
【问题讨论】:
-
colA和colB值与采样域(在您的示例中为 {1, 2} 和 {6, 7. 8. 9. 10})之间的确切关系是什么?