R 如果列表中有值,则替换字段值
这不是一个大问题,但让我很恼火 在R中,我根据另一列的值更改一列中字段的值:R 如果列表中有值,则替换字段值,r,dataframe,R,Dataframe,这不是一个大问题,但让我很恼火 在R中,我根据另一列的值更改一列中字段的值: my_df[my_df$column1 == "ONE", 'column2'] <- "My text" my_df[my_df$column1 == "TWO", 'column2'] <- "My text" my_-df[my_-df$column1==“一”,column2']是的,有办法做到这一点 问题是“==”运算符 您需要改为在%中使用“%” 也就是说,您不想询问第1列中的值是否等于c(“
my_df[my_df$column1 == "ONE", 'column2'] <- "My text"
my_df[my_df$column1 == "TWO", 'column2'] <- "My text"
my_-df[my_-df$column1==“一”,column2']是的,有办法做到这一点
问题是“==
”运算符
您需要改为在%
中使用“%”
也就是说,您不想询问第1列中的值是否等于c(“一”、“二”)
您想询问第1列中的值是否在向量c(“一”、“二”)
中
以你为例:
my_df[my_df$column1 %in% c("ONE", "TWO"), 'column2'] <- "My text"
my_-df[my_-df$column1%在%c(“一”、“二”),“column2”]是的,有一种方法可以做到这一点
问题是“==
”运算符
您需要改为在%
中使用“%”
也就是说,您不想询问第1列中的值是否等于c(“一”、“二”)
您想询问第1列中的值是否在向量c(“一”、“二”)
中
以你为例:
my_df[my_df$column1 %in% c("ONE", "TWO"), 'column2'] <- "My text"
my_-df[my_-df$column1%在%c(“一”、“两”),“column2”]dplyr解决方案(假设column2已经存在):
#示例df
我的_df%
突变(第2列=替换(第1列,
第1栏%c(“一”、“二”),
“我的文本”))
dplyr解决方案(假设第2列已经存在):
#示例df
我的_df%
突变(第2列=替换(第1列,
第1栏%c(“一”、“二”),
“我的文本”))
你的意思是我的df$column1%在%c(“一”、“二”),'column2']我的df$column1==c(“一”、“二”)
应该是我的df$column1%在%c(“一”、“二”)
你的意思是我的df$column1%在%c(“一”、“二”),'column2'我的df$column1==c(“一”、“二”)
应该是
# sample df
my_df <- tibble(column1 = c("ONE", "TWO", "THREE"),
column2 = c("a", "b", "c"))
# code
my_df %>%
mutate(column2 = replace(column1,
column1 %in% c("ONE", "TWO"),
"My text"))