我对R中的if-then-else / do语句有疑问。基于互联网,我的R手册和本网站,我看到R在这个领域的工作方式不同于其他编程语言因为向量,但是我不太清楚我理解,因此无法使用以下功能。
我想让R根据变量pc
是0还是1进行计算。如果pc = 0
,那么它应创建为pc = 0
定制的平均值或pc = 1
。输出应为avecount
。这是我的代码:
avecount <- if (pc == 0) {
sum(sumcount/23)
} else if (pc == 1) {
sum(sumcount/12)
} else {
FALSE
}
还有其他方法可以完成相同的功能,例如通过pc
对每个函数进行子集化,然后在数据集中将它们合并在一起,但我的直觉是,这不是实现此目的的最有效方法。请帮忙!
Data:
pc sumcount avecount
0 15
0 24
1 1
1 19
0 1