我有多个列,我需要合并并返回一个计算每个数字的应急表。
序数数据集的示例:
df <- data.frame(ab = c(1,2,3,4,5),
ba = c(1,3,3,3,5))
>ab ba
1 1
2 3
3 3
4 3
5 5我希望能够返回这样一张应急表:
>1 2 3 4 5
2 1 4 1 2我尝试了一些类似问题的例子,但我得到的不是计数,而是返回的金额:
library(plyr)
colSums(rbind.fill(data.frame(t(unclass(df$ab))), data.frame(t(unclass(df$ba)))),`
na.rm = T)任何帮助都是非常感谢的。
发布于 2021-02-14 21:55:29
我们将unlist data.frame转换为vector并在base R中应用table
table(unlist(df))
# 1 2 3 4 5
# 2 1 4 1 2 或者使用tidyverse,使用pivot_longer将数据重新格式化为'long‘格式,并获取count
library(dplyr)
library(tidyr)
df %>%
pivot_longer(cols = everything()) %>%
count(value)数据
df <- structure(list(ab = 1:5, ba = c(1L, 3L, 3L, 3L, 5L)),
class = "data.frame", row.names = c(NA,
-5L))https://stackoverflow.com/questions/66200500
复制相似问题