如何将数据矩阵的维度插入到一行代码中?

时间:2015-11-28 22:10:06

标签: r vector dimensions

我想要运行一段非常简单的代码。我正在创建这个向量:

 x1<- rep("T", 576)

但是,我从这行代码中得出了数字576:

 dim(x)

(x是576行的数据帧)

我需要为许多其他数据框创建类似于x1的向量,这些数据帧都是不同的维度。我不想每次都必须手动将维值输入到rep公式中。有没有办法将这两个公式合并为一个?

2 个答案:

答案 0 :(得分:1)

尝试dim(x)[1]nrow(x)提取维度并将其输入您的通话:

x1 <- rep("T", nrow(x1))

答案 1 :(得分:0)

您是否考虑过制作数据帧列表,然后编写循环来计算每个数据帧的新向量?下面的代码创建了两个不同大小的数据框,将它们放在一个列表中,然后使用for循环来获取每个数据框的维度并将其分配给一个向量(显然用数据很多的数据替换“z in 1:2”)你有的框架)。希望有所帮助。

x1<-data.frame(1:3,4:6)
x2<-data.frame(7:10,11:14)

x<-list(x1,x2)

z<-0

for (z in 1:2) {

t<-as.data.frame(lapply(x[z], dim))
t[1,1]

d<-rep("T",t[1,1])
assign(paste("vector",z,sep=""),d)
}