【发布时间】:2015-04-03 17:24:58
【问题描述】:
我的数据框中有一列:
Colname
20151102
19920311
20130204
>=70
60-69
20-29
我希望将此列拆分为两列,例如:
Col1 Col2
20151102
19920311
20130204
>=70
60-69
20-29
我怎样才能达到这个结果?
【问题讨论】:
-
如果您想将
do.call(cbind, split(df, cumsum(grepl('>', df$Colname))))用作两个单独的列。 -
@akrun 我喜欢那个。应该发布它
-
@DavidArenburg 但是,这似乎不是 OP 想要的 :-)
-
或者获得所需结果的选项是
indx <- cumsum(grepl('>', df$Colname)); df1 <- data.frame(Col1=df$Colname, Col2=df$Colname, stringsAsFactors=FALSE); df1[!indx,1] <- ''; df1[indx,2] <- '' -
列也可以任意放置数据。 >=70 可以是该列的第二个条目!