我想要运行一段非常简单的代码。我正在创建这个向量:
x1<- rep("T", 576)
但是,我从这行代码中得出了数字576:
dim(x)
(x是576行的数据帧)
我需要为许多其他数据框创建类似于x1的向量,这些数据帧都是不同的维度。我不想每次都必须手动将维值输入到rep公式中。有没有办法将这两个公式合并为一个?
答案 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)
}