【发布时间】:2018-12-04 17:19:12
【问题描述】:
所以我想通过一个数据集并根据我的第一列的条件对每一列的值求和。到目前为止的数据和我的代码如下所示:
x v1 v2 v3
1 0 1 5
2 4 2 10
3 5 3 15
4 1 4 20
for(i in colnames(data)){
if(data$x>2){
x1 <-sum(data[[i]])
}
else{
x2 <-sum(data[[i]])
}
}
我的假设是 for 循环会按名称从数据中调用每一列,然后根据它们是否与列 x 的条件相匹配,对每列中的值求和。
我想将每列中的一半值相加并将它们分配给值 x1,并对余数执行相同的操作,将其分配给 x2。我不断收到一条错误消息:
the condition has length > 1 and only the first element will be used
我做错了什么,有没有更好的方法来解决这个问题?理想情况下,我想要一个如下所示的表格:
v1 v2 v3
x1 6 7 35
x2 4 3 15
【问题讨论】: