다음과 같은 목록 개체가 있습니다.
list1 <- list(c("A1", "A2"), "B", c("C1", "C2"))
이것으로부터 list1의 모든 요소 조합 목록을 포함하는 목록을 생성하고 싶습니다. list1의 경우 다음과 같아야합니다.
list2 <- list(list("A1", "B", "C1"), list("A1", "B", "C2"), list("A2", "B", "C1"), list("A2", "B", "C2"))
list1에 더 많은 요소가 있으면 수동으로 생성하는 것이 불가능 해집니다. R에서이 작업을 수행하려면 어떻게해야합니까?
조금 다른 것을 제안하겠습니다. 사용 expand.grid
하고 data.frame
조합을 얻으십시오 .
expand.grid(list1)
# Var1 Var2 Var3
# 1 A1 B C1
# 2 A2 B C1
# 3 A1 B C2
# 4 A2 B C2
또는 유사하게 "data.table"과 함께 CJ
다음을 사용하십시오 .
library(data.table)
do.call(CJ, list1)
# V1 V2 V3
# 1: A1 B C1
# 2: A1 B C2
# 3: A2 B C1
# 4: A2 B C2
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다