在我的R代码中,我试图将换行符插入数据集中某列的一些较长的字符串值中。代码会运行,但是输出始终与原始字符串相同,并且不会发生任何更改。当我将列作为向量拉出并应用相同的代码时,它完全可以正常工作。我对R还是很陌生,删除列以应用函数然后将其重新附加到原始数据帧的过程似乎相当复杂。是否有成功的方法可以仅在数据框中执行此操作?
library(tidyverse)
library(stringr)
dog_descriptions2 <-
dog_descriptions %>%
mutate(breed_primary2 = str_replace_all(breed_primary, c("Pit Bull Terrier" = "Pit Bull\nTerrier", "Labrador Retriever" = "Labrador\nRetriever", "Border Collie" = "Border\nCollie")))
感谢您的帮助!
我不确定我是否将str_replace_all
用于此任务。相反,我建议在recode()
中使用recode_factor()
或dplyr
。
library(tidyverse)
# If breed_primary is a character
new.dog.df <- dog_descriptions2 %>%
mutate(breed_primary2 = recode(breed_primary,
`Pit Bull Terrier` = "Pit Bull\nTerrier",
`Labrador Retriever` = "Labrador\nRetriever",
`Border Collie` = "Border\nCollie")
# If breed_primary is a factor
new.dog.df <- dog_descriptions2 %>%
mutate(breed_primary2 = recode_factor(breed_primary,
`Pit Bull Terrier` = "Pit Bull\nTerrier",
`Labrador Retriever` = "Labrador\nRetriever",
`Border Collie` = "Border\nCollie")