我想取几个字符串向量,并将向量中找到的单词的频率作为数据帧。数据框的列名应该是在所有字符串组合中找到的唯一字。我有这个部分,这些单词的频率被添加到了我的数据框架中。这是我正在尝试的缩小版本。我尝试过使用table(),但我不确定我是否正确。
a <- c('A', 'B', 'C', 'D', 'E')
b <- c('A', 'D', 'J', 'G', 'X')
c <- c('A', 'A', 'B', 'B', 'C', 'X')
示例Data.Frame Design
vector.name A B C D E J G X
a 1 1 1 1 1 0 0 0
b 1 0 0 1 0 1 1 1
c 2 2 1 0 0 0 0 1
答案 0 :(得分:3)
这应该有效
countUniqueEntries <- function(l) {
lapply(l, function(x) {
x <- factor(x, levels = unique(unlist(l)));
table(x) })
}
do.call(rbind, countUniqueEntries(list(a, b, c)));
A B C D E J G X
[1,] 1 1 1 1 1 0 0 0
[2,] 1 0 0 1 0 1 1 1
[3,] 2 2 1 0 0 0 0 1
答案 1 :(得分:1)
一旦有了长数据集,这基本上就是一个table
操作:
table(stack(mget(c("a","b","c")))[2:1])
# values
#ind A B C D E G J X
# a 1 1 1 1 1 0 0 0
# b 1 0 0 1 0 1 1 1
# c 2 2 1 0 0 0 0 1