For循环提取数据

For循环提取数据,r,for-loop,if-statement,R,For Loop,If Statement,我有一个包含这些变量(分支、项目、销售、库存)的数据集,我需要创建一个for循环来提取具有以下内容的数据 具有 1-不同的分支机构 2-其销售额高于库存 并将结果保存在数据框中 我使用的代码是 trials <- sample_n(Data_with_stock,1000) for (i in 1:nrow(trials)) { if(trials$sales[i] > trials$stock[i] & trials$item[i] == trials$item

我有一个包含这些变量(分支、项目、销售、库存)的数据集,我需要创建一个for循环来提取具有以下内容的数据

具有
1-不同的分支机构
2-其销售额高于库存

并将结果保存在数据框中 我使用的代码是


trials <- sample_n(Data_with_stock,1000)

for (i in  1:nrow(trials)) 
{
if(trials$sales[i] >  trials$stock[i] & trials$item[i] ==  trials$item[i+1] & trials$branch[i] !=  trials$branch[i+1])

{s <-data.frame( (trials$NAME[i])
  ,(trials$branch[i]))
} 

}


试用$stock[i]&试用$item[i]==试用$item[i+1]&试用$branch[i]!=试验$branch[i+1])

{s因为您只想修复代码:

您没有在代码中设置一个
=

使用:


trials建议您使用dplyr库,安装后考虑到“df”是您的数据集,请对问题1和2使用以下命令

问题1 问题1=
df%>%
分组依据(项目)%>%
总结(无分支机构=无明显(分支机构))

项目多于一个分支机构=
question\u one[哪个(question\u one$No\u of\u branchs>1)“项目”]

问题2:同样, 问题二=
df%>%
分组依据(项目)%>%
总结(库存=总额(库存),销售=总额(销售))

销售大于库存的项目=
问题二[哪个(问题二$sales>问题二$stock),“项目”]


如果没有dplyr,就无法解决问题,但是建议,如果还没有使用,dplyr对于数据处理总是有用的

如果一个项目有不同的分支,变量分支会是什么样子?即使有两个
=
这个
试验$item[i]=trials$item[i]
没有多大意义。因为不同的分支机构在不同的区域销售相同的商品。伙计们,我不需要进行for循环,因为我需要所有答案都在一个数据框中。for循环应该比较行中的商品和分支机构以及内部的商品,以获得I f条件来比较销售额和库存。我需要修复我的代码elook假设我们有20家药店,假设他们销售100种商品,我需要确定商品销售是否大于库存,以便其他分支机构可以支持此项目,因此所有药店的100种商品都是相同的,他们有库存和销售单位,我需要找到库存销售额较高的商品,以便我可以从其他分支机构发送此商品NCH您能帮我找到此选项中的项目吗?它不起作用–Sepa Mostafa 16小时前看,假设我们有20家药店分支机构假设他们销售100种项目,我需要找到项目销售额是否大于库存,以便其他分支机构可以支持此项目–Sepa Mostafa 16小时前,因此100种项目相同在所有药店,他们都有库存和销售单位。我需要找到库存销售额较高的商品,以便我可以在16小时前从另一家分店Sepa Mostafa发送此商品。您能帮我找到此选项中的商品吗
trials <- sample_n(Data_with_stock,1000)
# next you need first to define s used in your loop
s <- array(NA, dim = c(1,2)) # as you only save 2 things in s per iteration

for (i in  1:nrow(trials)) {
# but I dont get why you compare the second condition.

if(trials$sales[i] >  trials$stock[i] & trials$item[i] ==  trials$item[i] & trials$branch[i] !=  trials$branch[i+1]) {

s[i,] <- cbind(trials$NAME[i], trials$branch[i])
} else {
s[i,] <- NA # just to have no problem with the index i, you can delete the one with na afterwards with na.omit()
}