只读取一次数据并对不同的变量应用相同的函数
Reading data only once and apply same function for different variables
我正在处理的数据集看起来像-DATA 有 6 个不同的国家,r_1..r_13 指定了原因。我想在这个数据集上应用 PCA 来找出每个国家的重要原因
我想问的问题是,如何 运行 每个国家/地区的 PCA 而不读取每个国家/地区的文件,而不是我想读取整个文件,如上所示。
另请检查我用于执行 PCA-
的代码
pca<-prcomp(numeric,center=T,scale=T)
summary(pca)
eigen_val<-pca$sdev ^2
sum(eigen_val)
prop_var<-round(eigen_val/sum(eigen_val),4)
round(sum(prop_var[1:13]),4)
load<-pca$rotation
计算旋转矩阵后,我将检查哪些 PC 与哪些观察到的变量最相关,因此我将决定变量的重要性。(基于 - PC 与变量相关的数量多于变量的重要性)
请指出该方法是否正确!
谢谢!!
这是一个简单的解决方案起点,您可以调整该解决方案以获得所需格式的结果。假设您正在使用 R
中的 iris
数据集,并且您想为每个 Species
执行 pca
,有点像您想要执行的操作 [=13] =] 数据中的每个国家。
library(caret)
data(iris)
Iris <- split(iris, iris$Species)
for(i in 1:length(Iris)){
assign(paste0("pca", i), prcomp(Iris[[i]][which(names(iris)!="Species")], center=T, scale.=T))
}
我正在处理的数据集看起来像-DATA 有 6 个不同的国家,r_1..r_13 指定了原因。我想在这个数据集上应用 PCA 来找出每个国家的重要原因 我想问的问题是,如何 运行 每个国家/地区的 PCA 而不读取每个国家/地区的文件,而不是我想读取整个文件,如上所示。 另请检查我用于执行 PCA-
的代码 pca<-prcomp(numeric,center=T,scale=T)
summary(pca)
eigen_val<-pca$sdev ^2
sum(eigen_val)
prop_var<-round(eigen_val/sum(eigen_val),4)
round(sum(prop_var[1:13]),4)
load<-pca$rotation
计算旋转矩阵后,我将检查哪些 PC 与哪些观察到的变量最相关,因此我将决定变量的重要性。(基于 - PC 与变量相关的数量多于变量的重要性) 请指出该方法是否正确! 谢谢!!
这是一个简单的解决方案起点,您可以调整该解决方案以获得所需格式的结果。假设您正在使用 R
中的 iris
数据集,并且您想为每个 Species
执行 pca
,有点像您想要执行的操作 [=13] =] 数据中的每个国家。
library(caret)
data(iris)
Iris <- split(iris, iris$Species)
for(i in 1:length(Iris)){
assign(paste0("pca", i), prcomp(Iris[[i]][which(names(iris)!="Species")], center=T, scale.=T))
}