如何根据另一个变量的值更改一个变量的值?
How do I change the value of one variable based on the value of another variable?
我有两个变量。一个带有取值 1-7 的标签的分类标签。值 7 表示“其他”
另一个变量是表示“其他”的文本。
col1 col2
1
3
6
2
7 "some text"
7 "some text"
2
7 "some other text"
7 "some third text"
7 "Some thrid Text"
我想根据 col2 中的值更改 col1 中的值。
例如
IF col2 = "some text", col1 = 2 (and it deletes the "some text" in col2)
IF col2 = "some other text", col1 = 4 (and it deletes the "some other text in col2)
IF col2 = "Some thrid Text", col2 = "some third text"
col1 col2
1
3
6
2
2
2
2
4
7 "some third text"
7 "some third Text"
旁注:col1 在其值 1-7 上有值标签,我不想弄乱它。
df %>%
mutate(col1 = coalesce(case_when(col2 == 'some text' ~ 2,
col2 == 'some other text' ~ 4), col1),
col2 = str_remove(col2, 'some (other )?text'))
col1 col2
1 1
2 3
3 6
4 2
5 2
6 2
7 2
8 4
9 7 some third text
10 7 Some thrid Text
我有两个变量。一个带有取值 1-7 的标签的分类标签。值 7 表示“其他” 另一个变量是表示“其他”的文本。
col1 col2
1
3
6
2
7 "some text"
7 "some text"
2
7 "some other text"
7 "some third text"
7 "Some thrid Text"
我想根据 col2 中的值更改 col1 中的值。 例如
IF col2 = "some text", col1 = 2 (and it deletes the "some text" in col2)
IF col2 = "some other text", col1 = 4 (and it deletes the "some other text in col2)
IF col2 = "Some thrid Text", col2 = "some third text"
col1 col2
1
3
6
2
2
2
2
4
7 "some third text"
7 "some third Text"
旁注:col1 在其值 1-7 上有值标签,我不想弄乱它。
df %>%
mutate(col1 = coalesce(case_when(col2 == 'some text' ~ 2,
col2 == 'some other text' ~ 4), col1),
col2 = str_remove(col2, 'some (other )?text'))
col1 col2
1 1
2 3
3 6
4 2
5 2
6 2
7 2
8 4
9 7 some third text
10 7 Some thrid Text