在R中生成子表
我需要将一些Python代码翻译成R。我需要做的是多次从一个较大的表中随机抽取行,以便以后使用。下面是一个例子:在R中生成子表,r,jupyter-notebook,R,Jupyter Notebook,我需要将一些Python代码翻译成R。我需要做的是多次从一个较大的表中随机抽取行,以便以后使用。下面是一个例子: library(data.table) library(dplyr) test_table <- data.table(replicate(10, sample(0:1, 10, rep=TRUE))) test_table 我做错什么了吗?我是否误解了输出?是否期望在Python中出现“示例列表”,而在R中没有?在replicate中有一个simplify参数,用于确定R
library(data.table)
library(dplyr)
test_table <- data.table(replicate(10, sample(0:1, 10, rep=TRUE)))
test_table
我做错什么了吗?我是否误解了输出?是否期望在Python中出现“示例列表”,而在R中没有?在
replicate
中有一个simplify
参数,用于确定R是否尝试将返回的对象简化为不太复杂的数据结构
simplify
默认为TRUE
,在这种情况下,它将返回的数据帧列表向下折叠为一个类型为list
的对象。指定simplify=FALSE
将关闭此行为
kSampleSize <- 2
kNumSamples <- 3
replicate(kNumSamples, sample_n(test_table, kSampleSize), simplify = FALSE)
可能的重复项在可能的重复项中查看答案,但您只需将
simplify=FALSE
添加到replicate
中simplify
的默认值为TRUE
,在这种情况下,它强制键入列表
,这就是您获得数据结构的原因。@Mako212啊,好!非常感谢。我认为这可能也是一个重复,但在这个问题上似乎还有更多的内容,我的问题可能对其他人有用。公平地说,我将把我的评论转移到实际的答案上
kSampleSize <- 2
kNumSamples <- 3
samples <- replicate(kNumSamples, sample_n(test_table, kSampleSize))
samples
1. 1 0
kSampleSize <- 2
kNumSamples <- 3
replicate(kNumSamples, sample_n(test_table, kSampleSize), simplify = FALSE)
[[1]]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1: 1 0 0 0 1 0 0 1 0 1
2: 1 1 1 0 0 1 0 0 1 1
[[2]]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1: 1 1 0 1 0 1 0 1 0 0
2: 1 1 1 1 1 0 0 1 0 1
[[3]]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1: 0 0 1 0 1 1 0 0 1 1
2: 1 1 1 1 0 0 1 0 0 0