提问人:DavidMB 提问时间:8/23/2023 更新时间:8/23/2023 访问量:24
如何执行制表循环?
How to performe a loop for tabulating?
问:
我需要将许多分类变量制成表格。我正在使用提问者库中的函数 freq 来做到这一点。我的数据帧叫做esp。
我创建一个对象,其分类变量如下:
symp <- c("asthma", "flu", "cough", "sivilance", "fever")
我使用库foreach将symp中的所有变量制成表格:
library(foreach)
foreach(esp[symp]) %do% questionr::freq(i, cum = TRUE, total = TRUE, na.last = T)
但是,它没有奏效,结果如下:
[[1]]
n % val% %cum val%cum
3 1 100 100 100 100
Total 1 100 100 100 100
[[2]]
n % val% %cum val%cum
3 1 100 100 100 100
Total 1 100 100 100 100
[[3]]
n % val% %cum val%cum
3 1 100 100 100 100
Total 1 100 100 100 100
[[4]]
n % val% %cum val%cum
3 1 100 100 100 100
Total 1 100 100 100 100
[[5]]
n % val% %cum val%cum
3 1 100 100 100 100
Total 1 100 100 100 100
我需要每个变量的表格。
如何在不重复代码的情况下将所有变量制成表格?
谢谢
答:
1赞
MrFlick
8/23/2023
#1
使用 时,请确保定义迭代变量。运行您的代码时出现错误,显示“找不到对象'i'”。这个名字并不特别。它只是在许多示例中使用。这是它不同名称的样子foreach
i
foreach(col=esp[symp]) %do% questionr::freq(col, cum=TRUE, total=TRUE, na.last=T)
调用时命名值的值就是块中的变量名称。在这里我用了而不是.foreach()
col
i
评论
0赞
DavidMB
8/24/2023
我真的很感谢你的帮助。现在我明白了如何使用.代码运行良好。foreach
评论
esp