【发布时间】:2018-11-22 10:09:23
【问题描述】:
这是我的第一篇文章,所以我希望它不是太初级。我正在尝试将具有负数量的观察结果与具有正数量和相等绝对值(数量)的对应物相匹配。此外,我想检查金额是否都来自同一个帐户。为此,我尝试使用 for 循环,但出现以下错误:“操作可能仅适用于数字、逻辑或复杂类型。”到目前为止,这是我的代码:
for(i in 1:nrow(data)){
for(j in 1:nrow(data)){
if ((data$Amount[i]=abs(data$Amount[j]))&(data$Amount[i]!=data$Amount[j])&(data$Account[i]=data$Account[j]))
{data$debit[i]<-1}}}
有谁知道为什么会发生这种情况,或者知道使用 Apply 函数系列的更好方法吗?提前谢谢!
编辑: 下面是一个玩具数据集:来说明这个例子。例如,在这个数据集上,我想创建一个指标变量,除了 ID=3 之外,它都是 0,因为对于观察,4.7=abs(-4.7) 和 "abc1"="abc1" 。
Data <- " ID Amount Account
1 5.0 abc1
2 -5.0 abc9
3 4.7 abc1
4 4.6 abc7
5 5.0 abc8
6 -4.7 abc1 "
【问题讨论】:
-
请包含您的数据框示例,以便其他人更容易通过让他们运行代码来帮助您,您可以参考此问题格式:stackoverflow.com/questions/5963269/…
-
根据您的建议更新 - 如果提供的数据足够,请告诉我。
标签: r