我正在尝试创建一个新列sep_l_values
,该列取决于列division
中的值。
我有一些数据agg
division agg_4546 agg_47
45 10 NA
46 11 NA
47 NA 10
我想要:
division agg_4546 agg_47 sep_l
45 10 NA 10
46 11 NA 11
47 NA 10 10
为什么这行不通?请您提供解决方案?
for (row in 1:nrow(agg)){
if (agg[row,'division'] = 47){
agg$sep_l <- agg$agg_47
} else {
agg$sep_l <- agg$agg_4546
}
}
错误消息显示
Error: unexpected '=' in:
"for (row in 1:nrow(div_to_agg)){
if (div_to_agg[row,'division'] ="
但是我需要=
作为条件吗?
答案 0 :(得分:0)
agg<-data.frame(division=c(45,46,47),agg_4546=c(10,11,NA),agg_47=c(NA,NA,10))
for (row in 1:nrow(agg)){
if (agg[row,'division'] == 47){
agg$sep_l[row] <- agg$agg_47[row]
} else {
agg$sep_l[row] <- agg$agg_4546[row]
}
}
您错过了if条件中的双“ ==”,而错过了[[row]“来访问特定条目而不是到” agg“的整个列中