有没有办法使用变量而不需要定义它(在R中)?

时间:2014-02-24 09:55:10

标签: r variables rbind cbind

我使用以下代码:

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

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

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

我无法将其定义为tempdata<-'',因为这将是一个角色,对吗?

正如我所说,对我来说不是一个问题,但是会有更好的方法,特别是如果我或某人在代码中多次使用rbind(),那么第一行可能是“清除“不仅一次......

使用cbind()时,同样可能会出现问题。

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

1 个答案:

答案 0 :(得分:5)

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

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 (由@jbaums指出)。它甚至可能更方便,因为您不必手动指定数据类型(由于隐式类型转换,同样也适用于NULL):

numeric(0)