我仍然是 R 的初学者,我正在尝试弄清楚如何在我的循环中重写我的索引。
我有一个列 party
只列出了政党隶属关系。我编写了一个循环来替换列中不是 democrat
或 republican
的任何值。
for(i in 1:length(party3$party)){
if(party3$party[i] != "democrat" || party3$party[i] != "republican"){
party3$party[i] <- "I" }}
我的列 party
看起来像这样:
party
republican
independent
democrat
libertarian
independent
american independent
republican
democrat
我正在努力保持 democrat
和 republican
完好无损:
party
republican
I
democrat
I
I
I
republican
democrat
问题是,一切最终都被“我”取代。如何修复此循环的索引?
答案 0 :(得分:1)
您可以在没有 for
循环的情况下分配值:
party3$party[!party3$party %in% c("democrat", "republican")] <- 'I'
# party
#1 republican
#2 I
#3 democrat
#4 I
#5 I
#6 I
#7 I
#8 republican
#9 democrat
在您的 for
循环中,您需要使用 &&
而不是 ||
并且当两个值都不存在时它应该替换值。
for(i in 1:length(party3$party)) {
if(party3$party[i] != "democrat" && party3$party[i] != "republican"){
party3$party[i] <- "I"
}
}