编辑data.frame中的每一行

时间:2018-05-10 18:49:36

标签: r

我正在努力编辑数据帧。所以我的数据集看起来像这样:

df <- data.frame( Att1 = c("Text Text", "Text2 Text2", "Text3 Text3"), Value = c(1,2,3))

enter image description here

但是在每一行中的每个单词之后都应该添加一些内容(例如“∖n”)。例如:

enter image description here

有谁知道怎么做那样的事情? 非常有帮助会很棒! 问候

2 个答案:

答案 0 :(得分:2)

我们可以通过几种方式实现这一目标。如果空格为单个,则chartr可以用\n

替换空格
df$Att1 <- chartr(" ", "\n", df$Att1)

或者使用gsub,我们将一个或多个空格(\\s+)替换为\n

df$Att1 <- gsub("\\s+", "\n", df$Att1)

如果我们有-\,请将\\s+替换为

df$Att <- gsub("[ \-]+", "\n", df$Att1)

答案 1 :(得分:1)

使用sapply时,可以非常清楚地将哪些参数传递给gsub; |可用于在正则表达式中进行替换

df <- data.frame( Att1 = c("Text Text", "Text2/Text2", "Text3-Text3"), Value = c(1,2,3))

df$Att1 <- sapply(df$Att1, gsub, pattern = "\\s+|\\-|\\/", replacement = "\n")

df$Att1
[1] "Text\nText"   "Text2\nText2" "Text3\nText3"