У меня есть следующие кадр данных, table5
, состоящие из x
и его частоты, произведенные из других данных, используя counts
:Р: Создать матрицу значений из другой таблицы
x freq
1 1 3
2 3 21
3 4 21
4 5 1345
5 7 1
, который я хотел бы передать - в общем виде, т.е. для использования с другими значениями в первоначальном кадре данных - в следующем кадре данных table5if
:
Frequency
3 21
4 21
5 1345
other 4
т.е. где частота чисел 3, 4 и 5 передается напрямую, и др Другие номера добавляются вместе в other
. Моя последняя попытка заключается в следующем:
k <- seq(1, nrow(table5), by=1)
ifelse(table5$x[k] == 3, table5if[1] <- table5$freq[k],
ifelse(table5$x[k] == 4, table5if[2] <- table5$freq[k],
ifelse(table5$x[k] == 5, table5if[3] <- table5$freq[k], table5if[4] <- (table5if[4] + table5$freq[k])
)
)
)
Эта попытка, и другие попытки использовать if(...){...} else {...} etc.
, имеют все дали некоторую форму предупреждения или ошибки (например, «количество элементов для замены ...» и «число измерений .. . »и не дали каких-либо убедительных результатов. Я просмотрел множество других вопросов для ошибок и предупреждений и не могу найти то, что я ищу, - есть много об векторизации, но я не могу получить голова вокруг, почему это будет проблемой. Может ли кто-нибудь предложить подходящий вариант для этой небольшой задачи?
Почему бы просто не добавить все частоты, а затем вычесть их для чисел 3, 4 и 5, чтобы вычислить общее количество для других? –
Это, безусловно, самый простой вариант! Я также являюсь поклонником избегания готовых функций и сохранения его математики и логики. Большое спасибо за ваше предложение, windrunn3r.1990! – Psydes