【问题标题】:How to insert the missing line breakers in R dataframe如何在 R 数据框中插入缺少的换行符
【发布时间】:2012-11-22 06:45:35
【问题描述】:

我需要在单列 R 数据框中插入一些缺少的换行符。数据收集阶段缺少这些换行符。

数据如下:

V1
Apple
OrangeBanana
BananaBananaBanana
Watermelon
GrapeBanana

所以“香蕉”之前的所有换行符都不见了

我想搜索“香蕉”并添加那些缺少的换行符,使其看起来像:

V1
Apple
Orange
Banana
Banana
Banana
Banana
Watermelon
Grape
Banana

【问题讨论】:

    标签: string r split dataframe


    【解决方案1】:

    这是一个稍微更通用的解决方案,但它可以很容易地用于明确使用“香蕉”。

    V1 <- c("Apple", "OrangeBanana", "BananaBananaBanana", "Watermelon", "GrapeBanana")
    

    首先,让我们通过查找所有不是单词边界的大写字母并将它们替换为空格和大写字母来拆分它们:

    splits <- gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE)
    [1] "Apple" "Orange Banana" "Banana Banana Banana" "Watermelon" "Grape Banana"
    

    然后按空格字符分割,从列表转换为向量:

    unlist(strsplit(splits, " "))
    [1] "Apple" "Orange" "Banana" "Banana" "Banana" "Banana" "Watermelon" "Grape" "Banana"   
    

    或者在一行中:

    unlist(strsplit(gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE), " "))
    

    编辑:对于明确与“香蕉”一起使用的正则表达式:

    gsub("(?:\\B)(Banana)"," \\1" , V1, perl=TRUE)
    

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多