我有2个不同的数据框,我正在尝试在每个数据表上运行相同的功能。
在每个数据框上都有一个ClaimID变量,我想为每个表运行该变量的唯一计数。我将使用的功能将是与独特功能相结合的长度。谢谢!
这是我现在正在使用的代码:
t <- data.frame(lapply(df.list,function(x)
cbind("PatientIDs", length(unique(x[,3])))))
我相信我的结果数据框看起来像这样:
FREQ 1 2 4 7
答案 0 :(得分:1)
我们收到错误的原因是因为列表元素的table
输出长度不相等。要将输出长度设置为相等,我们可以将列转换为&#39; factor&#39;将级别指定为所有列表元素中的唯一元素,然后我们使用table
。
Un1 <- sort(unique(unlist(lapply(df.list, `[[`, 12))))
data.frame(lapply(df.list, function(x) table(factor(x[,12], levels=Un1))))
以下解决方案也提供相同的频率列输出。在这种情况下,您可能不需要将列转换为&#39; factor&#39;
library(reshape2)
table(melt(lapply(df.list,"[[", 12)))