/ / Jak utworzyć minimalną listę dwóch list w R? - r, lista, testowanie

Jak utworzyć minimalną listę dwóch list w R? - r, lista, testowanie

Próbuję utworzyć minimalną listę dwóch list w R na podstawie wątku Jak stworzyć wspaniały powtarzalny przykład R? ale nie obejmuje listy list jako podstawowego przykładu. Poszukiwana minimalna próbka danych o następującej strukturze, w której długość B może być zminimalizowana, ale musi być heterogeniczna

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 ...

Robić dput(files), dostajesz zbyt duże przykładowe dane. Robić reproduce(files)w tym samym przypadku. Próbowałem też dput(head(files, 5)) ale do jednej listy i zwraca tylko 5 cyfr. Pseudo kod

  • Struktura Lista A z dwóch list B (1,2), gdzie długość B (1,2) zmienia się tak, że

    length(B(1)_i) = length(B(2)_i)
    
  • zminimalizować długość B (1,2), ale zachować heterogeniczną długość kolejnych Bs

Poszukiwana struktura wyjściowa

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
System operacyjny: Debian 8.5

Odpowiedzi:

2 dla odpowiedzi № 1

Można to zrobić na kilka sposobów. Utwórz dwa data.frame i umieść go w list

lst <- list(data.frame(V1 = rnorm(11), V2 = rnorm(11)),
data.frame(V1 = rnorm(7), V2 = rnorm(7)))

Lub jeśli jest ich wiele data.frames do utworzenia, użyj pętli

lst1 <- lapply(c(11, 7), function(n) data.frame(V1 = rnorm(n),
V2 = rnorm(n)))