2

我使用以下代码:

tempdata <- rbind(tempdata,newdata)  # bind rowwise

据我所知,需要定义临时数据(如所有对象、变量……)。因为只有数值,所以我将其定义为tempdata<-0. 这不是一个真正的大问题,但是当之后使用 rbind 时,第一行0保留在第一位,我必须使用某种

tempdata<-tempdata[-1,] # deletes first row

我不能将其定义为tempdata<-'',因为这将是一个角色,对吧?

就像我说的那样,对我来说并不是真正的问题,但是否有更好的方法,特别是如果我或某人会rbind()在代码中多次使用,因此可能第一行不仅必须“清除”一次......

使用cbind().

也许有人知道更好的解决方案?

4

1 回答 1

5

如果您使用rbind/cbind从迭代过程构建一些结果,您可以声明“空”对象来存储数据。对于数字数据,请使用numeric(0),它是一个长度为零的数字向量。它与任何绑定兼容:

rbind(numeric(0), 1:3)
     [,1] [,2] [,3]
[1,]    1    2    3
cbind(numeric(0), 1:3)
     [,1]
[1,]    1
[2,]    2
[3,]    3

NULL(正如@jbaums 所指出的那样)也是如此。它甚至可能更方便,因为您不必手动指定数据类型(numeric(0)由于隐式类型转换,同样也可以使用):

rbind(NULL, letters[1:3])
     [,1] [,2] [,3]
[1,] "a"  "b"  "c" 
于 2014-02-24T10:08:13.253 回答