对dataframe中的列执行一系列突变
我试图替换数据框中的一些文本(下面给出了几行) 我尝试将数据帧变异为:对dataframe中的列执行一系列突变,r,dataframe,mutate,R,Dataframe,Mutate,我试图替换数据框中的一些文本(下面给出了几行) 我尝试将数据帧变异为: Henry.longer <- Henry.longer %>% mutate(Loading = str_replace(meow, "Henry.Exterior.single", "Single")) %>% mutate(Loading = str_replace(meow, "Henry.Exterior.multi", &qu
Henry.longer <- Henry.longer %>%
mutate(Loading = str_replace(meow, "Henry.Exterior.single", "Single")) %>%
mutate(Loading = str_replace(meow, "Henry.Exterior.multi", "Multi")) %>%
mutate(Loading = str_replace(meow, "Henry.Interior.single", "Single")) %>%
mutate(Loading = str_replace(meow, "Henry.Interior.multi", "Multi")) %>%
mutate(Girder = str_replace(meow, "Henry.Exterior.multi", "Exterior")) %>%
mutate(Girder = str_replace(meow, "Henry.Exterior.single", "Exterior")) %>%
mutate(Girder = str_replace(meow, "Henry.Interior.multi", "Interior")) %>%
mutate(Girder = str_replace(meow, "Henry.Interior.single", "Interior")) %>%
select(-meow)
与使用
str\u replace
相比,我想使用正则表达式提取所需内容会更容易
library(dplyr)
Henry.longer %>%
mutate(Loading = sub('.*\\.', '', meow),
Girder = sub('.*\\.(\\w+)\\..*', '\\1', meow))
在哪里
加载
-删除所有内容直到最后一点
begin
-提取两点之间的单词。使用str\u replace
我想使用正则表达式提取所需内容会更容易
library(dplyr)
Henry.longer %>%
mutate(Loading = sub('.*\\.', '', meow),
Girder = sub('.*\\.(\\w+)\\..*', '\\1', meow))
在哪里
加载
-删除所有内容直到最后一点
主梁
-在两点之间提取一个单词。如果使用静态字符串查找更容易或更安全,我认为我们可以使用查找向量:
tr_vec如果使用静态字符串查找更容易或更安全,我认为我们可以使用查找向量:
tru-vec哦,天哪,看起来你已经在这里找到了一些答案,但这里有一个超级简单的答案,它使用了stringr::stru-extract
:
Henry.longer%
突变(加载=str|u提取(喵喵,“单|多”))%>%
变异(梁=str|u提取(喵喵,“内部|外部”))
值得注意的是,演示数据在一列中有一个奇怪的meow
条目,因此它在我的机器上运行得并不完美:
哦,天哪,看起来你已经在这里找到了一些答案,但这里有一个超级简单的答案,它使用了stringr::stru extract
:
Henry.longer%
突变(加载=str|u提取(喵喵,“单|多”))%>%
变异(梁=str|u提取(喵喵,“内部|外部”))
值得注意的是,演示数据在一列中有一个奇怪的meow
条目,因此它在我的机器上运行得并不完美:
喵喵的确切定义在哪里?(也许您打算从dput(Henry.longer[1:4,])
?)中给出输出。看起来您发布了所有行,但只有少数列(即1:4)。也许dput(head(Henry.longer))
会起作用吗?是的,很抱歉刚刚解决了这个问题哈@r2evansyea抱歉刚刚修复了hah@dubukay在哪里定义了meow
?(也许您打算从dput(Henry.longer[1:4,])
?)中给出输出。看起来您发布了所有行,但只有少数列(即1:4)。也许dput(head(Henry.longer))
会起作用吗?是的,很抱歉刚刚解决了这个问题哈@r2evansyea抱歉刚刚修复了hah@DubukaySo我希望主梁
列显示外部
或内部
值,而加载
显示单个
和多个
右侧,错过了…所以我想让列显示外部
或内部
值,加载
显示单个
和多个
对,错过了…谢谢,我想我还是很难理解regex,但我明白你在这里做了什么!!谢谢,我想我还是很难理解regex来制作这个,但我明白你在这里做了什么!!
library(dplyr)
Henry.longer %>%
mutate(Loading = sub('.*\\.', '', meow),
Girder = sub('.*\\.(\\w+)\\..*', '\\1', meow))