【问题标题】:How to split one column into three [duplicate]如何将一列分成三列[重复]
【发布时间】:2014-12-18 15:06:38
【问题描述】:

我正在阅读一个非常混乱的 csv 文件。看起来像tt

a <- c("REQDO.,TRIBUNAL DE JUSTIÇA DO ESTADO DO RIO GRANDE DO SUL ,")
b <- c("29/05/1992 ,PUBLICADO ACORDAO DJ: , ,                         ,                           ,")
c <- c("23/04/1991 ,DECISAO PUBLICADA DJ: , ,        ")
d <- c("29/05/1992 ,PUBLICADO DESPACHO NO DJ , ,PROCEDO LIBERACAO PECAS P/ FORMALIZACAO ACORDAO                         ,                           ,")

tt <- rbind(a,b,c,d)
row.names(tt) <- NULL

出于某种原因,我必须使用 sep=";" 才能读取 csv。如果不是这种情况,我会用sep="," 阅读它,但似乎这是没有选择的。

现在,我想将这一列分成三列,最后tt 看起来像这样:

V1          V2                                                     V3              
REQDO.      TRIBUNAL DE JUSTIÇA DO ESTADO DO RIO GRANDE DO SUL
29/05/1992  PUBLICADO ACORDAO DJ: 
23/04/1991  DECISAO PUBLICADA DJ:
29/05/1992  PUBLICADO DESPACHO NO DJ                               PROCEDO LIBERACAO PECAS P/ FORMALIZACAO ACORDAO

我该怎么做? 谢谢

【问题讨论】:

    标签: r split


    【解决方案1】:

    你可以从splitstackshape试试cSplit

    library(splitstackshape)
    res <- cSplit(tt, 'V1', sep=',')
    

    【讨论】:

    • @Thomas 没问题。它还将根据是否为数字更改列的class
    • 谢谢,我会注意的。
    • @Thomas 默认情况下,type.convert=TRUE 可以根据需要将其更改为 FALSE
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    相关资源
    最近更新 更多