Как добавить столбец в таблицу в R - PullRequest
0 голосов
/ 08 мая 2020

Я применил кросс-табуляцию с table () к двум столбцам моего фрейма данных и получил что-то вроде этого cross tabulation

Теперь я хотел бы добавить сюда новый столбец с итоги строки, но когда я пробую это ...

tablaCruzada$Total<-0

Предупреждение: In tablaCruzada $ Total <- 0: Realizando coercion de LHD a una lista </p>

Есть идеи, пожалуйста?

С уважением

Ответы [ 3 ]

1 голос
/ 08 мая 2020

Сначала преобразуйте table в фрейм данных / матрицу, затем добавьте новый столбец, используя rowSums.

На воспроизводимом примере из mtcars.

temp <- table(mtcars$cyl, mtcars$am)
df <- as.data.frame.matrix(temp)
df$Total <- rowSums(df)
#Or if you just want to initialize
#df$Total <- 0
df

#   0 1 Total
#4  3 8    11
#6  4 3     7
#8 12 2    14
0 голосов
/ 08 мая 2020

Также, исходя из данных @ Ronak, используйте apply

df$Total <- apply(df, 1, sum)
df
   0 1 Total
4  3 8    11
6  4 3     7
8 12 2    14
0 голосов
/ 08 мая 2020

Возможно, вы захотите изучить пакет janitor. Вот пример использования набора данных iris:

library(dplyr)
library(janitor)

iris %>% 
  tabyl(Sepal.Length, Species) %>% 
  adorn_totals(where = "col")

# Sepal.Length setosa versicolor virginica Total
# 4.3      1          0         0     1
# 4.4      3          0         0     3
# 4.5      1          0         0     1
# 4.6      4          0         0     4
# 4.7      2          0         0     2
# 4.8      5          0         0     5
# ....
  • tabyl() предоставляет двухстороннюю таблицу частот, где результатом являются данные. Кадр
  • adorn_totals() включает столбец для итога
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...