【问题标题】:How do I merge rows based on column and modify layout code in R?如何基于列合并行并修改 R 中的布局代码?
【发布时间】:2019-10-16 23:25:51
【问题描述】:

我有一个包含以下内容的 .csv 文件:

84,62,175,235,374,221,292,375,430,497,0,0,736,0,0,0
85,62,298,337,149,181,247,424,228,383,0,0,1657,0,0,0
87,62,198,181,347,355,423,479,403,494,0,0,261,0,0,0
88,62,289,202,422,310,388,430,498,604,0,0,259,0,0,0
122,41,276,231,247,294,402,463,383,461,0,0,87,0,0,0

我有另一个包含以下内容的 .csv 文件:

10848,0,0,0,272826,84
10849,0,0,0,272806,85
10850,0,1,0,272812,85
10851,1,0,0,440831,85
10870,0,0,0,271567,122
10871,0,1,0,438415,122

使用 R,我如何将它们合并在一起(通过第一个表中的第一列和第二个中的最后一列)并添加引号以使其看起来更好。

非常感谢。

【问题讨论】:

    标签: r rstudio


    【解决方案1】:

    这是一种可行的方法,只需根据您的情况进行调整:

    df<-c('33','429:301:255:38','450692,450693,450694,450695')
    df[1]<-paste('[',shQuote(df[1]),']')
    df[2]<-paste(' = {[',shQuote(df[2]),']')
    df[3]<-paste(', [',shQuote(df[3]),']}')
    dff<-paste(df[1],df[2],df[3])
    library("openxlsx") 
    setwd("C:\\temp")
    wb<-createWorkbook()
    addWorksheet(wb, sheetName = "test")
    writeData(wb,dff,sheet = "test", rowNames = FALSE)
    name <- paste("mydata_",Sys.Date(),".xlsx", sep="")
    saveWorkbook(wb,name, overwrite = TRUE)
    

    【讨论】:

    • 您必须调整代码,只需对向量的其余部分执行相同操作即可。
    • 我更新了答案,第一个和第二个与所需的格式化输出合并,只需用其余部分更新代码(过程完全相同)。
    • 好吧,这里有不止一个问题。阅读stackoverflow.com/questions/31429736/… 进行合并,将它们与解决方案中的 paste() 连接并应用给定的解决方案。这应该有效。
    猜你喜欢
    • 2016-09-23
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多