我正在学习R并尝试同时使用它进行统计分析。 在这里,我处在工作的第一部分:我正在编写矩阵并用它们做一些简单的事情,以便稍后使用它们。
punti<-c(0,1,2,4)
t1<-matrix(c(-8,36,-8,-20,51,-17,-17,-17,57,-19,-19,-19,35,-8,-19,-8,0,0,0,0,-20,-20,-20,60,
-8,-8,-28,44,-8,-8,39,-23,-8,-19,35,-8,57,-8,-41,-8,-8,55,-8,-39,-8,-8,41,-25,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),ncol=4,byrow=T)
colnames(t1) <- c("20","1","28","19")
r1<-matrix(c(12,1,19,9,20,20,11,20,20,11,20,28,0,0,0,12,19,19,20,19,28,15,28,19,11,28,1,
33,20,28,31,1,19,17,28,19,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),ncol=3,byrow=T)
pt1<-rbind(sort(colSums(t1)),sort(punti))
colnames(r1)<-c("Valore","Vincitore","Perdente")
r1<-as.data.frame(r1)
但我有更多矩阵t_
和r_
所以我想运行for循环,如:
for (i in 1:150)
{
pt[i]<-rbind(sort(colSums(t[i])),sort(punti))
colnames(r[i])<-c("Valore","Vincitore","Perdente")
r[i]<-as.data.frame(r[i])
}
这个只是因为r_
,t_
和pt_
是字符串而无效,但你同时得到了这个想法,我会不喜欢复制粘贴这三行并手动编辑[i]
150次。有办法吗?
答案 0 :(得分:0)
我个人并不建议动态地自动在全球环境中创建大量变量,并建议您在没有这种方法的情况下思考如何实现目标。话虽如此,如果你觉得你真的需要动态创建所有这些变量,你可以从assign
函数中受益。
它可以这样工作:
for (i in 1:150)
{
assign(paste0('p',i),rbind(sort(colSums(t[i])),sort(punti)))
}
assign
函数中的第一个参数是变量名称的公式及其创建方式;第二个参数是您希望分配给正在创建的变量的内容。