Почему функция table () имеет ошибку аргумента длины без NA? - PullRequest
1 голос
/ 18 октября 2019

Я хочу выяснить, что происходит с генерацией этой таблицы частот для каждого атрибута по номеру варианта. По какой-то причине я продолжаю получать ошибку «все аргументы должны иметь одинаковую длину» для таблицы в аргументе for ().

Я проверил правильность названий вариантов и убедился, что length(jar.beta$variant) равен length(jar.beta$overall) и всем другим атрибутам, но он не работает. Атрибуты являются векторами, но я попытался изменить их на факторы.

Надеюсь найти помощь. Заранее спасибо!

#Sample Input
library(tibble)
jar.beta <- tribble(
  ~date, ~variant, ~appearance, ~crunch, ~spring, ~density, ~season, ~salt, ~overall,
  1-1-19, 11, 4, 5, 6, 1, 4, 2, 5,
  1-1-19, 11, 4, 5, 1, 1, 3, 7, 8,
  1-1-19, 1.4, 1, 1, 6, 1, 2, 2, 2.5,
  1-1-19, 1.4, 4, 5, 6, 1, 4, 2, 5,
  1-1-19, 1.3, 4, 5, 6, 1, 4, 2, 5,
  1-1-19, 1.3, 4, 5, 6, 1, 4, 2, 5
)  

jar.beta$variant <- as.factor(jar.beta$variant)
jar.beta$date <-as.factor(jar.beta$date)  

#Code in Question 
percentage <- vector("list", 7)                     
names(percentage) <- colnames(jar.beta[3:9])
for (i in 1:9){
    attribute.freq  <- table(jar.beta$variant,jar.beta[,i+2])
    percentage[[i]] <- as.matrix(100*prop.table(attribute.freq,margin=1),2)
    }

#Desired Output as a Percent Frequency Table
                 2   2.5     3   3.5     4   4.5     5   5.5     6   6.5     7     8   8.5
  11         16.67 33.33 16.67  0.00  0.00  0.00 16.67  0.00  0.00  0.00 16.67  0.00  0.00
  1.4        0.00  0.00 16.67  0.00 16.67 16.67 50.00  0.00  0.00  0.00  0.00  0.00  0.00
  1.3        0.00  0.00  0.00  0.00  0.00  0.00 66.67 16.67  0.00  0.00  0.00  0.00 16.67

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