Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将列表中的列转换为R中的数据帧_R_Simulation - Fatal编程技术网

将列表中的列转换为R中的数据帧

将列表中的列转换为R中的数据帧,r,simulation,R,Simulation,我有以下使用R创建的列表 set.seed(326581) X1=rnorm(10,0,1) Y1=rnorm(10,0,2) data=data.frame(X1,Y1) lst <- replicate( 100, df.smpl <- data %>% sample_n(10, replace = T), simplify = FALSE) 但它不起作用。有人能告诉我找出错误吗 这里有一个使用tidyverse的选项,我们将对象分别转置到'X1'和'Y1s

我有以下使用R创建的列表

set.seed(326581)
X1=rnorm(10,0,1)
Y1=rnorm(10,0,2)
data=data.frame(X1,Y1)

lst <- replicate(
  100,
  df.smpl <- data %>% sample_n(10, replace = T),
  simplify = FALSE)

但它不起作用。有人能告诉我找出错误吗

这里有一个使用
tidyverse
的选项,我们
将对象分别转置到'X1'和'Y1s'的
list
,然后绑定in
map
中的列,以创建
tibble
列表

library(tidyverse)
out <- transpose(lst) %>% 
              map(bind_cols)

或者使用
lappy
base R

data.frame(lapply(lst, `[`, 'X1'))
data.frame(lapply(lst, `[`, 'Y1'))

使用
do.call
cbind
,将它们合并成一个数据帧,然后我们将数据帧拆分以获得预期的输出

s=do.call("cbind", lst)
Y=s[,seq(2,200,2)]
X=s[,seq(1,200,2)]

谢谢你的回复。我对R数据类型有一点了解。我需要数据类型中的最终答案,类似于通过以下代码
replicate(n=10,rnorm(30,0,1))生成的数据类型
。可以这样做吗?只要用
as.matrix
data.frame(lapply(lst, `[`, 'X1'))
data.frame(lapply(lst, `[`, 'Y1'))
s=do.call("cbind", lst)
Y=s[,seq(2,200,2)]
X=s[,seq(1,200,2)]