在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

我需要将一些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是否尝试将返回的对象简化为不太复杂的数据结构

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