我对 R 相当熟悉,但已经达到了我的数据需求要求我学习具有多个条件的迭代循环的地步。我已经看到使用各种形式的 *apply() 以及 colSums() 和 rowSums() 用于执行我需要的数据转换类型的示例,但我想提高这些任务的效率,也许嵌套或迭代循环。此外,现有建议没有考虑到忽略/删除“NA”项目导致的数据丢失,我需要能够保留这些信息。
我的一般数据格式如下:
group <- c("A", "B", "C", "A", "C" [...])
individual <- c("1", "2", "3", "4", "5" [...])
choice1 <- c("1", "0", "1", "1", "NA")
choice2 <- c("1", "NA", "1", "0", "NA")
[...]
choice10 <- c("1", "0", "1", "1", "NA")
我需要计算三个选项中每一个的计数;1==是;0==否;NA==跨选项和跨组选择退出,然后将这些转换为百分比。我在以前的方法(如 *apply() 或跨行/列求和)中遇到的最大困难是我的“NA”值(选择退出)被忽略,或者阻止我能够充分地跨组获取选择值的百分比. 任何关于如何在循环结构中忽略或保留“退出”/NA 的具体建议或演示将不胜感激。
输出看起来有点像以下:yes.count_bychoice
no.count_bychoice
optout.count_bychoice
percentyes_bychoice_bygroup
percentno_bychoice_bygroup
percentout_bychoice_bygroup