Я создал фрейм данных из агрегатной функции. Длина фрейма данных равна двум. Однако, когда я печатаю фрейм данных, появляются 5 столбцов. Как R обрабатывает заголовки и подзаголовки в кадре данных? Как я могу избавиться от первого уровня заголовков, если это так здесь?
d <- data.frame("User id"=c(1,1,2,3,1),
block=c("north","south","east","west","south"), check.names = F)
f <- function(l, vec) {
vec[l] <- 1
vec
}
vec <- setNames(rep(0, 4), levels(d$block))
df <- aggregate(block~`User id`, d, f, vec)
Вот выходы, которые меня смущают:
>names(df)
[1] "User id" "block"
> df
User id block.east block.north block.south block.west
1 1 0 1 1 0
2 2 1 0 0 0
3 3 0 0 0 1
Вот что я хочу иметь:
> names(df)
> "User id" "block.east" "block.north" "block.south" "block.west"