dplyr-将包含单词的列名转换为字符
我想使用dplyr将以单词“feature”开头的列名转换为字符类型。我使用stackoverflow的答案尝试了以下内容和其他一些变体。任何帮助都将不胜感激。谢谢dplyr-将包含单词的列名转换为字符,r,dplyr,character,names,R,Dplyr,Character,Names,我想使用dplyr将以单词“feature”开头的列名转换为字符类型。我使用stackoverflow的答案尝试了以下内容和其他一些变体。任何帮助都将不胜感激。谢谢 train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.))) train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.))) 我正在努力改进dplyr命
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
我正在努力改进dplyr命令的使用 您需要在处进行变异
library(dplyr)
train %>% mutate_at(vars(starts_with("feature")), as.character)
正如@Gregor所提到的,mutate_if
是根据列中的实际数据而不是名称来选择列
比如说,
iris %>% mutate_if(is.numeric, sqrt)
因此,如果列中的数据仅为数字,则它将计算平方根
如果我们想将多个变量
语句组合成一个,我们可以使用匹配项
merchants %>% mutate_at(vars(matches("_id|category_")), as.character)
您需要在处进行变异
library(dplyr)
train %>% mutate_at(vars(starts_with("feature")), as.character)
正如@Gregor所提到的,mutate_if
是根据列中的实际数据而不是名称来选择列
比如说,
iris %>% mutate_if(is.numeric, sqrt)
因此,如果列中的数据仅为数字,则它将计算平方根
如果我们想将多个变量
语句组合成一个,我们可以使用匹配项
merchants %>% mutate_at(vars(matches("_id|category_")), as.character)
尝试
mutate\u at
,train%>%mutate\u at(vars(以(“feature”)开头)、as.character)
,现在,如果不需要任何其他参数,就不需要funs()
mutate\u at(vars(以(“feature”)开头),as.character)
应该可以。(作为解释,当条件取决于对列中数据的测试时,请使用mutate\u if
。vars()
返回特定列,并且mutate\u at
对特定列有效)。感谢您的回答。Ronak的答案对我很有用。你介意把这个解决方案作为一个答案发布,这样我就可以标记它已经解决了吗?@user13874更新了答案。试试mutate\u at
,train%>%mutate\u at(vars(以(“feature”)开头),as.character)
,现在,如果你不需要任何其他参数,就不需要funs()
mutate\u at(vars(以(“feature”)开头),as.character)
应该可以。(作为解释,当条件取决于对列中数据的测试时,请使用mutate\u if
。vars()
返回特定列,并且mutate\u at
对特定列有效)。感谢您的回答。Ronak的答案对我很有用。你介意把这个解决方案作为一个答案发布出来,这样我就可以标记这个问题已经解决了吗?@user13874更新了答案。