кросс-таблица в R показывает бессмысленные значения - PullRequest
0 голосов
/ 20 марта 2020

У меня есть следующий фрейм данных в R:

|   zurs_bk_hq gdv_gk anz |
|-------------------------|
| 1        223      2   6 |
| 2         96      3  23 |
| 3        223      4   2 |

С with(df, tapply(anz, list(zurs_bk_hq, gdv_gk), FUN=sum))

                   2                   3                 4       
 ------------------- ------------------- ------------------ 
  96             NA        1.136351e-322                NA                  
  223 2.964394e-323                   NA     9.881313e-324 

Я получаю бессмысленный результат.

Однако с df$anz <- 1 результат

        2   3   4  
 ----------------- 
   96  NA   1  NA             
  223   1  NA   1 

Честно говоря, я понятия не имею ...

Заранее большое спасибо, Карстен

1 Ответ

0 голосов
/ 21 марта 2020

Я не получаю ваш результат:

df <- structure(list(zurs_bk_hq = c(223L, 96L, 223L), gdv_gk = 2:4, 
    anz = c(6L, 23L, 2L)), class = "data.frame",
    row.names = c("1", "2", "3"))
with(df, tapply(anz, list(zurs_bk_hq, gdv_gk), FUN=sum))
#      2  3  4
# 96  NA 23 NA
# 223  6 NA  2

В качестве альтернативы вы можете использовать aggregate:

aggregate(anz~zurs_bk_hq+gdv_gk, df, sum)
#   zurs_bk_hq gdv_gk anz
# 1        223      2   6
# 2         96      3  23
# 3        223      4   2
...