[英]How to create Minimal List of two Lists in R?
我試圖基於線程在R中創建兩個列表的最小列表。 如何制作出色的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位數字。 偽代碼
兩個列表B(1,2)的結構列表A,其中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
這可以通過兩種方法來完成。 創建兩個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)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.