计算唯一变量的出现次数
Count occurrence of unique variables
我有一个变量数据框,有些变量不止一次出现,例如:
a, b, b, b, c, c, d, e, f
然后我想得到这样的输出(在两列中):
一个 1; b 3; 2; d 1; e 1; f 1。
奖励问题:如果变量在计数列中出现少于 'n' 次,我希望变量被命名(例如 'other' 如果少于 2 次出现)。
制表折叠
您的示例向量是
vec <- letters[c(1,2,2,2,3,3,4,5,6)]
要获取表格,请使用
tab <- table(vec)
要折叠不常见的项目(例如,计数低于二),请使用
res <- c(tab[tab>=2],other=sum(tab[tab<2]))
# b c other
# 3 2 4
分两列显示
resdf <- data.frame(count=res)
# count
# b 3
# c 2
# other 4
从技术上讲,这里的 "first column" 是行标签,可通过 rownames(resdf)
访问。
类似的选项包括:
stack(res)
两个实际列
data.frame(count=sort(res,decreasing=TRUE))
排序
在所有这些中,tab
或 c(tab)
可以用来代替 res
。
我有一个变量数据框,有些变量不止一次出现,例如: a, b, b, b, c, c, d, e, f 然后我想得到这样的输出(在两列中): 一个 1; b 3; 2; d 1; e 1; f 1。 奖励问题:如果变量在计数列中出现少于 'n' 次,我希望变量被命名(例如 'other' 如果少于 2 次出现)。
制表折叠
您的示例向量是
vec <- letters[c(1,2,2,2,3,3,4,5,6)]
要获取表格,请使用
tab <- table(vec)
要折叠不常见的项目(例如,计数低于二),请使用
res <- c(tab[tab>=2],other=sum(tab[tab<2]))
# b c other
# 3 2 4
分两列显示
resdf <- data.frame(count=res)
# count
# b 3
# c 2
# other 4
从技术上讲,这里的 "first column" 是行标签,可通过 rownames(resdf)
访问。
类似的选项包括:
stack(res)
两个实际列data.frame(count=sort(res,decreasing=TRUE))
排序
在所有这些中,tab
或 c(tab)
可以用来代替 res
。