Я работаю над созданием отчета, при попытке написать тиббл, используя write.xlsx пакета xlsx, он выдал ошибку (даже после того, как я указал as.data.frame (tibble) в write.xlsx). После проверки тиббла я понял, что когда я добавил несколько столбцов и сохранил результат в другом столбце в таблице, итоговый столбец стал фреймом данных.
Пример:
> marks <- tibble(math = c(90,90,85,90),
+ physics = c(90,85,95,80),
+ Total = c(rep(NA,4)))
> marks
# A tibble: 4 x 3
math physics Total
<dbl> <dbl> <lgl>
1 90 90 NA
2 90 85 NA
3 85 95 NA
4 90 80 NA
> class(marks)
[1] "tbl_df" "tbl" "data.frame"
> str(marks)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4 obs. of 3 variables:
$ math : num 90 90 85 90
$ physics: num 90 85 95 80
$ Total : logi NA NA NA NA
> marks$Total <- marks[,1] + marks[,2]
> str(marks)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4 obs. of 3 variables:
$ math : num 90 90 85 90
$ physics: num 90 85 95 80
$ Total :'data.frame': 4 obs. of 1 variable:
..$ math: num 180 175 180 170
>
Какмы можем видеть выше, я думал, что могу использовать векторизованные операции R, но столбец «Итого» изменился на фрейм данных после суммирования двух столбцов и сохранения результата в столбце итогов.
Может кто-нибудь сообщить мне, почему этотакже происходит, как выполнить вышеуказанную операцию.
Отредактировано: ОК, похоже, потому что tibble не сбрасывает размерность, это не было похоже на добавление двух векторов.