1
나는이 데이터 프레임에서 중첩 된 목록을 만들 싶습니다 두 가지 요소로 데이터 프레임에서 중첩 목록을 만드는 방법은 무엇입니까?
dat <- data.frame(var1 = c("A", "A", "B", "B"),
var2 = c("A_1", "A_2", "B_1", "B_2"),
val = 1:4)
> dat
var1 var2 val
1 A A_1 1
2 A A_2 2
3 B B_1 3
4 B B_2 4
가 처음 var1에 의해 데이터 프레임을 분할 :
mylist <- split(dat, dat$var1)
> mylist
$A
var1 var2 val
1 A A_1 1
2 A A_2 2
$B
var1 var2 val
3 B B_1 3
4 B B_2 4
가 지금은 VAR2에 대한 중첩 된 목록을 만들려면, 나는 시도 :
mylist <- lapply(mylist, function(x) split(x, x$var2))
> mylist
$A
$A$A_1
var1 var2 val
1 A A_1 1
$A$A_2
var1 var2 val
2 A A_2 2
$A$B_1
[1] var1 var2 val
<0 Zeilen> (oder row.names mit Länge 0)
$A$B_2
[1] var1 var2 val
<0 Zeilen> (oder row.names mit Länge 0)
$B
$B$A_1
[1] var1 var2 val
<0 Zeilen> (oder row.names mit Länge 0)
$B$A_2
[1] var1 var2 val
<0 Zeilen> (oder row.names mit Länge 0)
$B$B_1
var1 var2 val
3 B B_1 3
$B$B_2
var1 var2 val
4 B B_2 4
var1과 var2가 존재하지 않는 빈 데이터 프레임을 어떻게 피할 수 있습니까?
조합과 함께 훌륭한 옵션입니다. – akrun