我有一个数据框,只有一列,我想通过只选择某些行将其变为两列,这里......让我告诉你
我想离开这个
V1
1 one
2 two
3 &&three
4 four
5 &&five
6 six
到这个
V1 V2
1 one NA
2 two three
3 four five
4 six NA
所以那些有&&
的人被放在第二列的第二列中(希望这是有道理的)。我有什么方法可以做到这一点吗?
答案 0 :(得分:4)
这是我的方法:
读入数据:
dat <- read.table(text=" V1
1 one
2 two
3 &&three
4 four
5 &&five
6 six", head=T, stringsAsFactors = FALSE)
重塑:
j <- grep("&&", dat$V1) #find && rows
l <- j-1 #find rows above && rows
dat$V2 <- rep(NA, nrow(dat)) #create NA vector
dat$V2[l] <- gsub("&&", "", dat[grep("&&", dat$V1), 1]) #see what it does :)
dat2 <- dat[-j, ] #get rid of the && rows
rownames(dat2) <- 1:nrow(dat2) #rename rows
哪个收益率:
V1 V2
1 one <NA>
2 two three
3 four five
4 six <NA>