Проблемы с функцией Table () - PullRequest
1 голос
/ 06 апреля 2020

Я новичок в R, и мне необходимо самостоятельно изучить, как использовать его для задания на моей нынешней работе. Первый пост на StackOverflow тоже, так что извините за опущение любой важной информации.

Я обнаружил, что неправильно использую функцию table (), поскольку она генерирует таблицы, которые не включают в себя все значения, которые должны быть включены. Вот мой код / ​​вывод:

    library(tidyverse)
    library(dplyr)
    cbraw <- read.csv("Cbay.csv")

QS2B = почтовый индекс опроса

B11 = Specifi c вопрос опроса

    zipcode_table_B11 = cbraw %>% 
      group_by(QS2B, B11) %>% 
      summarize(n()) %>% 
      table()
    zipcode_table_B11

Вывод

      B11
QS2B    1 2 3 4 5 8 9
  12064 1 0 0 0 0 0 0
  12115 0 0 0 0 0 0 0
  12116 1 0 0 0 0 0 0
  12155 0 0 1 0 0 0 0

Это данные Excel (AKA cbraw):

QS2B    B11
12064   1.00
12115   
12116   1.00
12155   1.00
12155   3.00
12155   1.00

Проблема со столбцом QS2B, значение 12155

Теперь обратите внимание, как 12155 на df имеют значения 1,3, и 1. Однако в моем выводе учитывается только «3».

фактический вывод:

B11
QS2B    1 2 3 4 5 8 9
  12064 1 0 0 0 0 0 0
  12115 0 0 0 0 0 0 0
  12116 1 0 0 0 0 0 0
  12155 0 0 1 0 0 0 0

Желаемый вывод:

B11
QS2B    1 2 3 4 5 8 9
  12064 1 0 0 0 0 0 0
  12115 0 0 0 0 0 0 0
  12116 1 0 0 0 0 0 0
  12155 2 0 1 0 0 0 0

Кто-нибудь знает, почему цифры 1 не учитываются в моей таблице?

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 06 апреля 2020

Я думаю, вы слишком усложняете. table подсчитывает вхождения и выводит их в широкий формат, показывая все возможные комбинации. group_by() %>% summarize(n()) подсчитывает вхождения и помещает результаты в длинный формат, показывая только те комбинации, которые произошли. Вам не нужны оба. Поскольку вы хотите вывод в «широком» формате, лучше использовать table. Я думаю, что вы хотите это:

with(zipcode_table_B11, table(QS2B, B11))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...