m0_69701157 2023-10-25 11:07 采纳率: 0%
浏览 20
已结题

R语言 数据框 一行多列合并

用R语言合并一行多列时,有些是空值,合并之后变成了:

img

应该如何去掉呀?变成一下:

img

  • 写回答

13条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-25 11:20
    关注
    获得0.60元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    data <- matrix(c("", "    ", "A", " ", " " , "B", "", "", "C", "", "", "", "D", "", "", "", "E","","F",""), nrow = 4, byrow = TRUE)  # 将数据转置为按行排列的矩阵
    
    # 初始化向量来存储每行的处理结果
    merged_rows <- vector()
    
    # 遍历每一行数据
    for (i in 1:nrow(data)) {
     # 合并一行多列,并去掉空格和冗余逗号
     merged_row <- paste(data[i, ], collapse = ",")  # 合并成一个字符串,不设置sep参数
     merged_row <- trimws(merged_row)  # 去掉空格
     merged_row <- gsub("\\s*,\\s*", ",", merged_row)  # 替换空值的多个空格为一个逗号
     merged_row <- gsub(",{2,}", ",", merged_row)  # 替换冗余逗号
     merged_row <- gsub("^,|,$", "", merged_row)  # 去掉开头和末尾的逗号
     
     # 将处理结果添加到向量中
     merged_rows <- c(merged_rows, merged_row)
    }
    
    # 输出结果,每行结果换行显示
    cat(merged_rows, sep = "\n")
    
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 请采纳用户回复 10月28日
  • 赞助了问题酬金15元 10月25日
  • 创建了问题 10月25日