【发布时间】:2023-01-25 23:01:42
【问题描述】:
假设你有一个向量x:
x <- c("C", "A", "B", "B", "A", "D", "B", "B", "A", "A", "A", "A", "A", "D", "C", "A", "C", "A", "A", "C", "A", "A", "D", "A", "D", "A", "D", "A", "A", "D", "D", "B", "B", "A", "A", "C", "A", "A", "B", "B", "B", "B", "B", "B", "B", "A", "C", "A", "C", "B")
您可以使用以下方法制作表格:
table(x)
# x
# A B C D
# 22 14 7 7
如果您只希望表包含某些值(例如“A”和“B”),或者您希望表包含 x 中可能不存在的值怎么办?
这是我的尝试:
tab_specific_values <- function(vector, values) `names<-`(rowSums(outer(values, vector, `==`)), values)
例如:
tab_specific_values(vector = x, values = c('A', 'B'))
# A B
# 22 14
或者如果我们指定一个在x中不存在的值
tab_specific_values(vector = x, values = c('A', 'B', 'E'))
# A B E
# 22 14 0
是否有现有的专用功能可以执行此操作,或者您是否有更好的方法?我怀疑我的函数 tab_specific_values 可能不是最好的方法。
【问题讨论】:
标签: r