是否可以在R中创建长度为0的对象?
答案 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()