r - R:在for循环中为数据框使用分配的名称
问题描述
我正在研究 R 中的以下 for 循环:
for(i in dim(Test)[1]) {
nam <- paste(Test[i,1])
assign(nam, as.data.frame(matrix(nrow=1,ncol=8)))
for (i in 1:dim(nam)[2]){
nam[,i]=round(data[,1]*M[1,i]+data[,2]*M[2,i]+data[,3]*M[3,i]+
data[,4]*M[4,i]+data[,5]*M[5,i]+data[,6]*M[6,i]+data[,7]*M[7,i]+
data[,8]*M[8,i])}}
但是,我收到以下错误消息:
Error in 1:dim(nam)[2] : argument of length 0
如何重写 dim(nam)[2] 以便它动态地使用我分配给数据框的名称?
为了完整起见,这里是我正在使用的数据框:
rand.sum <- function(n){
x <- sort(runif(n-1))
c(x,1) - c(0,x)
}
M <- t(replicate(8,rand.sum(8)))
test <- as.data.frame(t(replicate(1, rand.sum(10))))
ID <- c("ID")
data <- cbind(ID,test)
解决方案
推荐阅读
- django - 在这种情况下,你能解释一下“query_string”和“headers”吗
- python - Python中列表的比较算法
- javascript - 如何根据字段的值更改图标类
- google-colaboratory - Google Colab 可以支持像threejs 或pythreejs 这样的图形界面吗?
- algorithm - 如何确定这段代码效率描述的递推关系
- node.js - 来自 GitHub 页面的 HTTP“发布”请求失败
- php - 在php中添加十进制年份
- python - 如何使用python对一组数据进行指数曲线拟合?
- google-apps-script - 在 Google 表格的指定表格中运行脚本
- java - 无法连接到 MariaDB (java)