我在运行代码时不断收到此错误:
check_transactions <- function(flags, trans_col, industry_column, industry_df){
for(i in seq(1:length(flags$individual_id))){
if(flags$industry_column[i]>0 && nrow(subset(industry_df, industry_df$individual_id == flags$individual_id[i]))!=0){
flags$trans_col[i] <- subset(industry_df, industry_df$individual_id == ind_id)['txn_num']
}
}
}
check_transactions(flags1, txn_num_ind01, ind01_flag, ind1)
Error in if (flags$industry_column[i] > 0 && nrow(subset(industry_df, :
missing value where TRUE/FALSE needed
在搜索其他帖子后,普遍的共识是数据中存在NA,这与逻辑混淆。我的数据不是这种情况,我没有遗漏的值。
当我测试指定&#39; i&#39;的条件时,我得到TRUE或FALSE,所以我不确定为什么我的循环不起作用。
我错过了什么吗?这是我的两个数据框的片段:
flags1:
individual_id ind01_flag ind05_flag ind06_flag ind07_flag txn_num_ind01 txn_num_ind05 txn_num_ind06 txn_num_ind07
1 10000230 2 2 2 2 0 0 0 0
2 10002230 2 1 1 2 0 0 0 0
3 10002380 2 2 2 2 0 0 0 0
4 10003040 1 2 1 2 0 0 0 0
5 10003260 1 2 0 1 0 0 0 0
6 10007230 2 1 0 1 0 0 0 0
和ind1
individual_id txn_num
1 10000075 42
2 10000178 110
3 10000230 134
4 10000407 49
5 10000447 131
6 10000677 114