你能在R中创建长度为0的对象吗?

时间:2016-09-23 06:41:35

标签: r

是否可以在R中创建长度为0的对象?

2 个答案:

答案 0 :(得分:5)

当然:

a<-vector()
length(a)

答案 1 :(得分:0)

为R中的任何对象初始化占位符的常用方法是

x <- NULL
length(x)
## 0
class(x)
## "NULL"
str(x)
## NULL

典型用法是:

x <- NULL
for (i in 1:10)
  x[i] <- i

x <- NULL
for (i in 1:10)
  x[[i]] <- letters[1:10]

正如您所看到的,R在运行中将x更改为适当的(从它的角度来看......)类。如果上面的对象被填充和扩展,那么它只有零长度,直到你用它填充它。您始终可以声明预定义大小的对象x <- numeric(10)(通常从性能角度来看更可取),然后如果使用少于10个值填充它,则其余部分将填充默认值(如果为{,则为零) {1}}),如果你用10个以上的值填充它,它将被适当地扩展。

如前所述,您还可以使用预定义的类初始化对象,例如

numeric

但请注意,因为 - 一如既往 - 有例外,例如

x <- list()
x <- vector()
x <- numeric()
x <- data.frame()