我正在尝试根据线程How to make a great R reproducible example?在R中创建两个列表的最小列表,但它不会将列表列表作为基本示例。 想要采用以下结构的最小数据样本,其中B长度可以最小化但必须是异构的
List of 2
$ :'data.frame': 541650 obs. of 2 variables:
..$ V1: num [1:541650] -0.21 -0.205 -0.225 -0.22 -0.21 -0.19 -0.205 -0.205 -0.205 -0.205 ...
..$ V2: num [1:541650] -0.245 -0.22 -0.2 -0.2 -0.195 -0.2 -0.19 -0.185 -0.18 -0.185 ...
$ :'data.frame': 426098 obs. of 2 variables:
..$ V1: num [1:426098] -0.285 -0.285 -0.185 -0.285 -0.385 -0.305 -0.305 -0.125 -0.015 -0.285 ...
..$ V2: num [1:426098] -0.445 -0.6 -0.815 -0.665 -0.49 -0.68 -0.555 -0.755 -0.795 -0.405 ...
执行dput(files)
,您获得了太大的示例数据。
做reproduce(files)
,同样的情况。
我也试过了dput(head(files, 5))
,但是到了一个列表然后只返回5位数。
伪代码
结构列表A中的两个列表B(1,2),其中B(1,2)的长度变化,
length(B(1)_i) = length(B(2)_i)
最小化B(1,2)的长度,但保持后续Bs的异质长度
通缉输出结构
List of 2
$ data.frame 11 obs. of 2 variables
$ V1: num [1:11] -0.21 -0.205 ...
$ V2: num [1.11] -0.245 -0.22 ...
$ data.frame 7 obs. of 2 variables
$ V1: num [1:7] -0.285 -0.286 ...
$ V2: num [1.7] -0.445 -0.6 ...
R:3.3.1
操作系统:Debian 8.5
答案 0 :(得分:2)
这可以通过几种方式完成。创建两个data.frame
并将其放在list
lst <- list(data.frame(V1 = rnorm(11), V2 = rnorm(11)),
data.frame(V1 = rnorm(7), V2 = rnorm(7)))
或者如果要创建许多data.frame
,请使用循环
lst1 <- lapply(c(11, 7), function(n) data.frame(V1 = rnorm(n),
V2 = rnorm(n)))