employee <- c('John Doe','Peter Gynn','Jolie Hope', '20000', '30000' ,'40000')
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
kick<-1:9
cbind.fill <- function(...){
nm <- list(...)
nm <- lapply(nm, as.matrix)
n <- max(sapply(nm, nrow))
do.call(cbind, lapply(nm, function (x)
rbind(x, matrix(, n-nrow(x), ncol(x)))))
}
employ.data<- data.frame(cbind.fill(employee, kick, startdate))
以下是结果。
employ.data
X1 X2 X3
John Doe 1 14914
Peter Gynn 2 13963
Jolie Hope 3 13586
20000 4 <NA>
30000 5 <NA>
40000 6 <NA>
<NA> 7 <NA>
<NA> 8 <NA>
<NA> 9 <NA>
现在,我正在尝试将第二列中的名称和第二列中的名称移动到第三列。这样,结果如下:
X1 X2 X3
John Doe 20000 4
Peter Gynn 30000 5
Jolie Hope 40000 6
<NA> 1 14914
<NA> 2 13586
<NA> 3 13586
<NA> 7 <NA>
<NA> 8 <NA>
<NA> 9 <NA>
自从过去几天以来,我一直在尝试这样做,但无济于事我收到错误消息。这是我的一个试用
rbind.fill(employ.data[c(4:6),1], employ.data[c(1:3),2])
rbind.fill(employ.data[c(4:6),2], employ.data[c(1:3),3])
Error: All inputs to rbind.fill must be data.frames