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

How can I insert dimensions of a data matrix into a line of code?

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

 x1<- rep("T", 576)

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

 dim(x)

(x 是一个 576 行长的数据框)

我需要为许多其他维度不同的数据帧创建类似于 x1 的向量。我不想每次都手动将尺寸值输入到代表公式中。有没有办法将这两个公式合二为一?

尝试dim(x)[1]nrow(x)提取维度并输入到您的调用中:

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

您是否考虑过制作一个数据框列表,然后编写一个循环来为每个数据框计算一个新向量?下面的代码创建了两个不同大小的数据框,将它们放入一个列表中,然后使用 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)
}