我是R.的新手。我有一个备注的专栏 - "肯定"。 "负"和其他人。
我想创建一个名为" range"的新列。在本专栏中,我想基于正面/负面等来写评论。如果remarks =="positive"
我想写相应的单元格"第一圈"如果是负面"第二圈"。 dataset = balls。我写的是:
library(dplyr)
balls %>%
mutate(ranges) %>%
for (i in balls$sentiment) {
if (i=="positive"){
balls$ranges = "1st lap"
} else if (i=="negative") {
balls$ranges = "2nd lap"
} else {
balls$ranges = ""
}
}
但它没有做好工作。如何写这个....是否有任何偏移函数,就像我们在Excel VBA中用于for循环?的问候,
答案 0 :(得分:2)
只是扩展评论,我想这可能就是你所追求的目标?
mutate(ranges=ifelse(sentiment=="positive","1st lap", ifelse(sentiment=="negative","2nd lap","")))
答案 1 :(得分:0)
以下是基于case_when的解决方案:
df <- data.frame(ID=1:6, sentiment= c("positive", "negative", "other", "positive", "bb", "positive"))
df$ranges <- case_when(
df$sentiment == "positive" ~"1st lap",
df$sentiment == "negative" ~"2nd lap",
TRUE ~ ""
)