【发布时间】:2014-04-03 15:27:26
【问题描述】:
我在第一个“%in%”语句中收到连续错误。我检查了其他“长度为零的参数”答案,但没有看到任何适用的答案。
仅测试 data$var[1] %in% Group1Zips 在 R 控制台中返回 FALSE,所以除了返回的 NULL 值之外,我肯定遗漏了一些东西。
任何帮助将不胜感激。
NewColumn= vector()
builder = function(data, TRXVAR, ZIPVAR){
Group1 <- 0
Group1Zips = vector()
Group2 <- 0
Group2Zips = vector()
Group3 <- 0
Group3Zips = vector()
Group4 <- 0
Group4Zips = vector()
Group5 <- 0
Group5Zips = vector()
for (i in 1:nrow(data)){
if (data$ZIPVAR[i] %in% Group1Zips){
Group1 = Group1 + TRXVAR[i]
append(NewColumn,"Group1")
break }
else if (data[i, ZIPVAR] %in% Group2Zips){
Group2 = Group1 + data[i, TRXVAR]
append(NewColumn, "Group2")
break
}
else if (data[i, ZIPVAR] %in% Group3Zips){
Group3 = Group3 + data[i, TRXVAR]
append(NewColumn, "Group3")
break
}
else if (data[i, ZIPVAR] %in% Group4Zips){
Group4 = Group4 + data[i, TRXVAR]
append(NewColumn, "Group4")
break
}
else if (data[i, ZIPVAR] %in% Group5Zips){
Group5 = Group5 + data[i, TRXVAR]
append(NewColumn, "Group5")
break
}
else if (Group1 < Group2){
Group1 = Group1 + data[i, TRXVAR]
append(Group1Zips, data[i, ZIPVAR])
append(NewColumn, "Group1")
break
}
else if (Group2 < Group3){
Group2 = Group2 + data[i, TRXVAR]
append(Group2Zips, data[i, ZIPVAR])
append(NewColumn, "Group2")
break
}
else if (Group3 < Group4){
Group3 = Group3 + data[i, TRXVAR]
append(Group3Zips, data[i, ZIPVAR])
append(NewColumn, "Group3")
break
}
else if (Group4 < Group5){
Group4 = Group4 + data[i, TRXVAR]
append(Group4Zips, data[i, ZIPVAR])
append(NewColumn, "Group4")
break
}
else if (Group5 < Group1){
Group5 = Group5 + data[i, TRXVAR]
append(Group5Zips, data[i, ZIPVAR])
append(NewColumn, "Group5")
break
}
else {
Group1 = Group1 + data[i, TRXVAR]
append(Group1Zips, data[i, ZIPVAR])
append(NewColumn, "Group1")
}
}
return(nrow(NewColumn))
}
编辑**
以下是数据示例:
PROVIDER.ID ZIP TRX_ALL SPEC_CODE
2432188006 10013 4331 NEP
0050676082 90012 3050 IM
4954985007 77479 3043 CD
0250771087 90031 3020 OPH
【问题讨论】:
-
它返回了
FALSE。它正在做它的工作。Group1Zips是一个空向量。 -
请让您的示例可重现,我们没有您的数据。
-
也就是说,请发布一些数据并提示我们您正在尝试做什么。
-
抱歉:每一行代表一个销售账户。数据包括 ZIP 中的邮政编码,以及 TRX_ALL 中的总脚本(我在药店)的整数数量。我这样做的目的是自动将帐户分成五个组,每个组都有关于脚本
标签: r