如何循环遍历一列中的值以查找一组特定的字符,然后,如果该行包含这些字符,则在新列中专门为该行分配一个值?
例如,在这个问题中,我们必须为每个不同意的回答分配一分,为同意的回答分配零分。
Id Gender Age Participate Question Response Score
<int> <chr> <int> <int> <chr> <chr> <dbl>
1 16 Male 20 1 Q1 Slightly Disagree 0
2 17 Male 40 1 Q1 Definitely Agree 0
3 18 Male 33 1 Q1 Definitely Agree 0
4 19 Male 18 1 Q1 Definitely Agree 0
5 20 Male 24 1 Q1 Definitely Disagree 0
6 21 Female 42 1 Q1 Slightly Disagree 0
7 22 Female 19 1 Q1 Slightly Agree 0
8 28 Female 49 1 Q1 Slightly Disagree 0
9 29 Female 17 1 Q1 Slightly Agree 0
10 31 Male 18 1 Q1 Slightly Agree 0`
这肯定是重复的,找不到。
无论如何,正如@Zheyuan Li 指出的,你可以使用ifelse
在这种情况下。
您可以使用grepl
查找文本中是否包含“不同意”一词。grepl
返回一个布尔向量,您可以通过将其包装在其中将其转换为数字as.numeric
as.numeric(grepl("Disagree", df$Response))
#[1] 1 0 0 0 1 1 0 1 0 0
所以,考虑到df
作为您的数据框,您可以添加new_column
by
df$new_column <- as.numeric(grepl("Disagree", df$Response))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)