【发布时间】:2021-06-01 09:18:09
【问题描述】:
使用下面的代码,我试图根据“权重”列在每次迭代中每年加权。
使用wtd.table 我有以下代码:
wtd.table(result$`it 1`$`year 5`$age,result$`it 1`$`year 5`$gender ,result$`it 1`$`year 5`$district, weights =result$`it 1`$`year 5`$weight )
此输出仅提供年龄和性别加权。它也不包括地区。基于某些目的,我像这样使用count(var1, var2, var3 , wt = wt):
count(result$`it 1`$`year 5`$age,result$`it 1`$`year 5`$gender,
result$`it 1`$`year 5`$age,
wt = result$`it 1`$`year 5`$weight)
但我收到此错误:UseMethod("count") 中的错误: 没有适用于“c('double', 'numeric')”类对象的“count”方法。 我该如何解决?
这是我的代码:
iter1 <- list(year1 =data.frame(age=c(10,11,12,13), district=c(1,2,3,4),gender=c(1,2,2,1)
,weight=c(12.2,11.3,11.2,10.1)),
year2 =data.frame(age=c(10,11,12,13), district=c(1,2,3,4),gender=c(1,2,2,1),weight=c(12.2,11.3,11.2,10.1)))
iter2 <- list(year1 =data.frame(age=c(10,11,12,13), district=c(1,2,3,4),gender=c(2,2,1,1)
,weight=c(12.2,11.3,11.2,10.1)),
year2 =data.frame(age=c(10,11,12,13), district=c(1,2,3,4),gender=c(2,2,1,1),weight=c(12.2,11.3,11.2,10.1)))
df <- list(iter1 = iter1, iter2 = iter2)
我的预期输出类似于 df1
df1
district age gender freq
1 10 1 12.2
1 11 1 0.0
1 12 1 0.0
1 13 1 10.1
1 10 2 0.0
1 11 2 11.3
1 12 2 11.2
1 13 2 0.0
【问题讨论】:
-
我们的代码在哪里?您的预期结果是什么?
-
@Onyambu 请看我的输出。
-
您如何获得该输出?
-
这只是我的预期输出
-
是的,到达那里的逻辑是什么?
标签: r