아래 예제에서 xyz와 비슷한 목록 목록이 있습니다.목록에서 정보 추출
> x <- list(a=c("cat", "dog"), b=c("parrot", "chicken"), c=c("animal", "monkey"))
> y <- list(a=c("cat", "dog"), b=c("parrot", "chicken"), c=c("animal", "monkey"))
> z <- list(a=c("cat", "dog"), b=c("parrot", "chicken"), c=c("animal", "monkey"))
> xyz <- list(x, y, z)
> xyz
[[1]]
[[1]]$a
[1] "cat" "dog"
[[1]]$b
[1] "parrot" "chicken"
[[1]]$c
[1] "animal" "monkey"
[[2]]
[[2]]$a
[1] "cat" "dog"
[[2]]$b
[1] "parrot" "chicken"
[[2]]$c
[1] "animal" "monkey"
[[3]]
[[3]]$a
[1] "cat" "dog"
[[3]]$b
[1] "parrot" "chicken"
[[3]]$c
[1] "animal" "monkey"
이제 xyz의 각 목록에 대해 $ b에 저장된 정보를 추출하고 싶습니다.
xyz의 길이는 때때로 달라지며 xyz 목록의 열 b의 길이도 달라집니다. 그러나 필자는 정보를 추출하기 위해 항상 열 b를 사용합니다.
원하는 출력은 각 목록의 열 b에 정보가있는 벡터입니다.
> desired_output <- data.frame(x=c(xyz[[1]]$b, xyz[[2]]$b, xyz[[3]]$b))
> desired_output
x
1 parrot
2 chicken
3 parrot
4 chicken
5 parrot
6 chicken
내 데이터는 더 비슷합니다.
> x <-list(df=data.frame((c(data.frame(a=c("cat", "dog"), b=c("cat", "dog"))))))
> x <-list(df=data.frame((c(data.frame(a=c("cat", "dog"), b=c("cat", "dog"))))))
> y <-list(df=data.frame((c(data.frame(a=c("cat", "dog"), b=c("cat", "dog"))))))
> z <-list(df=data.frame((c(data.frame(a=c("cat", "dog"), b=c("cat", "dog"))))))
> xyz<- list(x,y,z)
> class(xyz[[1]])
[1] "list"
> class(xyz[[1]]$df)
[1] "data.frame"
> xyz[[1]]$df$b
[1] cat dog
이제 xyz의 각 데이터 프레임에 대해 b 열에 정보를 추출하고 싶습니다.
감사 할 수 있습니다. 내 목록이 약간 다른 구조로 바뀌 었음을 알았습니다. unlist (lapply (xyz, "[[", "b $ c")) 이 작동하지 않습니까? – samot79
c라는 어딘가에 b라는 이름의 data.frame이 있습니까? – Nate
예 .. 중복해서 죄송합니다. 문제가 해결되지 않습니다. 목록 목록이 있습니다. 각 목록은 데이터 프레임을 보유하고 있으며 데이터 프레임의 열 "b"에있는 모든 정보를 추출하고 싶습니다. 대답을 찾지 못하면 더 나은 질문을하겠습니다. 도움 주셔서 감사합니다. – samot79