R 如何使列中的某些元素彼此相等?

R 如何使列中的某些元素彼此相等?,r,dataframe,R,Dataframe,在专栏里 col bus car walk train citybus metro 我怎样才能制作一个新的专栏,它的主题是公共交通,而不是公共汽车、火车、城巴和地铁 i、 e输出为 col public transport car walk public transport public transport public transport 一个简单的replace或ifelse就可以了 df$new_col <- replace(df$col, df$col %in

在专栏里

col
bus
car
walk 
train
citybus
metro
我怎样才能制作一个新的专栏,它的主题是公共交通,而不是公共汽车、火车、城巴和地铁

i、 e输出为

 col
 public transport
 car
 walk 
 public transport
 public transport
 public transport

一个简单的
replace
ifelse
就可以了

df$new_col <- replace(df$col, df$col %in% c("bus", "train", "citybus", "metro"), 
                      "public transport")

df
#      col          new_col
#1     bus public transport
#2     car              car
#3    walk             walk
#4   train public transport
#5 citybus public transport
#6   metro public transport


df$new\u col一个简单的
replace
ifelse
就可以了

df$new_col <- replace(df$col, df$col %in% c("bus", "train", "citybus", "metro"), 
                      "public transport")

df
#      col          new_col
#1     bus public transport
#2     car              car
#3    walk             walk
#4   train public transport
#5 citybus public transport
#6   metro public transport


df$new\u col为什么它给我的是NA而不是公共交通?首先method@shere您可能将
col
列作为
factors
。你能把它转换成character
df$col吗?为什么它给我的是NA而不是公共交通?首先method@shere您可能将
col
列作为
factors
。你能把它转换成character
df$col吗?请给出一个可复制的例子。这是data.frame中的一列吗?这是一个字符向量还是一个因子?我得到了答案,谢谢,请发布一个可复制的例子。这是data.frame中的一列吗?是字符向量还是因子?我知道答案了,谢谢
df$new_col  <- df$col
df$new_col[df$col %in% c("bus", "train", "citybus", "metro")] <- "public transport"
df <- structure(list(col = c("bus", "car", "walk", "train", "citybus", 
"metro")), class = "data.frame", row.names = c(NA, -6L))