我有3个量化变量(公共意识形态,政党意识形态,政府意识形态),2017年的法国。X,Y,Z。我可以用Rstudio计算皮尔逊相关性,并获得一个表示这三个变量的相关性的单一值吗?
发布于 2020-07-30 04:38:41
您可以使用主成分来确定所有变量的最大协方差。第一个分量和所解释的方差的量衡量它们的联合协方差。例如,这里是R附带的虹膜数据集。它有四个度量标准,但过程是相同的:
data(iris)
iris.pca <- prcomp(iris[, 1:4], scale.=TRUE)
summary(iris.pca)
# Importance of components:
# PC1 PC2 PC3 PC4
# Standard deviation 1.7084 0.9560 0.38309 0.14393
# Proportion of Variance 0.7296 0.2285 0.03669 0.00518
# Cumulative Proportion 0.7296 0.9581 0.99482 1.00000第一个分量解释了四个变量之间72.96%的协方差。如果变量测量的是不同的事物或不同的尺度,则使用scale.=TRUE很重要。它在分析之前将变量转换为Z分数,因此每个变量占总方差的1/k,其中k是变量的数量。
根据我的评论和你的代码,你想要这样的东西:
RConvergence <- read.csv("C:/Users/TA/Desktop/RConvergence./RConvergence.csv",sep = ",", header=TRUE)
RConvergence.pca <- prcomp(RConvergence[, 3:5], scale.=TRUE)
summary(RConvergence.pca)要计算每个国家/地区的值,只需使用split数据并使用lapply
RConvergence.split <- split(RConvergence, RConvergence$Country)
RConvergence.split.pca <- lapply(RConvergence.split, function(x) prcomp(x[, 3:5], scale.=TRUE))
lapply(RConvergence.split.pca, summary)发布于 2020-07-30 17:11:36
我的数据已经标准化了。Its适用于28个州,2008-2017年,公共,政党,政府。我想计算公共/政党/政府之间的意识形态趋同,我已经量化了(mydata),每个州,每一年。
我的输入.csv文件名为RConvergence,我输入了下面的代码。
mydata = read.csv("C:/Users/TA/Desktop/RConvergence./RConvergence.csv",sep = ",", header=TRUE)
mydata$Country
mydata$Category
mydata$Public
mydata$Parties
mydata$Government
##Convergence Indicator
#First Method
data(RConvergence)
RConvergence.pca <- prcomp(RConvergence.pca[, 1:3], scale.=TRUE)
summary(RConvergence.pca)
#Second Method
table_convergence_var = data.frame(mydata$Public, mydata$Parties, mydata$Government)
Princ_convergence = prcomp(na.omit(table_convergence_var))
Summary(princ_convergence)
Plot(princ_convergence, type = “I”)我收到了错误。
#First method警告消息: In data(RConvergence):未找到数据集‘RConvergence’
#摘要中的第二个方法错误(Princ_convergence):找不到对象'princ_convergence‘
下面是我的数据集的一个示例。
mydata_struct = structure(
list(
Country = structure(
c(1L, 1L, 1L, 1L, 1L, 1L),
.Label = c(
"Austria",
"Belgium",
"Bulgaria",
"Croatia",
"Cyprus",
"Czech Republic",
"Denmark",
"Estonia",
"Finland",
"France",
"Germany",
"Greece",
"Hungary",
"Ireland",
"Italy",
"Latvia",
"Lithuania",
"Luxembourg",
"Malta",
"Netherlands",
"Poland",
"Portugal",
"Romania",
"Slovakia",
"Slovenia",
"Spain",
"Sweden",
"United Kingdom"
),
class = "factor"
),
Category = 2008:2013,
Public = c(
-0.098093881,
-0.001267959,
0.289209808,
1.160643109,
0.708788805,
0.611962882
),
Parties = c(
-1.462018781,-0.298023744,
-0.298023744,
-0.298023744,
-0.298023744,
0.865971293
),
Government = c(
0.820970916,
0.664989625,
0.754121791,
0.73183875,
0.018781421,
-0.270898119
)
),
row.names = c(NA,
6L),
class = "data.frame"
)https://stackoverflow.com/questions/63159452
复制相似问题