R 将数据帧的每一行除以变量的平方和

R 将数据帧的每一行除以变量的平方和,r,dataframe,R,Dataframe,在时间序列数据库中——事件是行,列是变量——是否有一种干净的方法将数据帧的每一行除以变量的平方和。目前,我的方法如下 for(i in 1:nrow(base)){ base[i,] <- base[i,]/(as.numeric(t(c(base[i,]))) %*% as.numeric(t(c(base[i,])))) } 我也会质疑你所说的标准化是什么意思,但是这里有一个更简单的方法来完成你在for循环中所做的事情: sweep(base, 1, rowSums(b

在时间序列数据库中——事件是行,列是变量——是否有一种干净的方法将数据帧的每一行除以变量的平方和。目前,我的方法如下

for(i in 1:nrow(base)){
     base[i,] <- base[i,]/(as.numeric(t(c(base[i,]))) %*% as.numeric(t(c(base[i,]))))
  }

我也会质疑你所说的标准化是什么意思,但是这里有一个更简单的方法来完成你在for循环中所做的事情:

sweep(base, 1, rowSums(base^2), `/`)

你的意思是在for循环中有一个赋值吗?我忘了添加赋值。代码现在是正确的“我不确定标准化是否是正确的词。”我倾向于同意。通常在统计学中,标准化变量指的是Z分数标度,这是通过
标度在R中实现的。你能编辑你的帖子来解释你所说的“标准化”是什么意思吗?你所说的标准化是什么意思?我猜你在除以行值的平方和。只是为了完整性<代码>t(应用(mtcars,1,函数(x)x/(x%*%x))
更接近您原来的。。。虽然我不确定它是否真的更清晰,但它也快了20倍。
sweep(base, 1, rowSums(base^2), `/`)