如何将数据矩阵的维度插入代码行?
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)
}
我有一行非常简单的代码我想运行。我正在创建这个向量:
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)
}