如何使用cor()函数获得相关矩阵?

如何使用cor()函数获得相关矩阵?,r,matrix,correlation,R,Matrix,Correlation,我正在windows系统中使用R的基本包 我有两个矩阵,其中有一列数值。两个矩阵的大小相同 我正在使用以下代码 c<-cor(x,y) 但我得到了: Min. :0.06088 1st Qu.:0.06088 Median :0.06088 Mean :0.06088 3rd Qu.:0.06088 Max. :0.06088 您需要将X和Y放入data.frame或矩阵中才能使其工作。下面是一个简单的例子 set.seed(4) #so

我正在windows系统中使用R的基本包

我有两个矩阵,其中有一列数值。两个矩阵的大小相同

我正在使用以下代码

c<-cor(x,y)
但我得到了:

 Min.   :0.06088  
 1st Qu.:0.06088  
 Median :0.06088  
 Mean   :0.06088  
 3rd Qu.:0.06088  
 Max.   :0.06088 

您需要将X和Y放入data.frame或矩阵中才能使其工作。下面是一个简单的例子

set.seed(4)  #so that we have the same random numbers
X<-rnorm(100)
Y<-rnorm(100)
W<-cor(data.frame(X,Y))
W

           X          Y
X  1.0000000 -0.1338078
Y -0.1338078  1.0000000

as.vector(W)
[1]  1.0000000 -0.1338078 -0.1338078  1.0000000
如果愿意,您可以将cor包装为.vector以将其存储为矢量。

嗯, 首先,根据赋值,您应该返回相关向量。其长度等于监控器数量,满足阈值要求。完整案例数大于阈值。 Let df是一个data.frame,它包含来自所有监视器的数据,完整案例数大于阈值。希望您可以自己获取此df并读取.csv、rbind函数。因此: 允许按监视器ID对此数据帧进行分组:

df_gb<-group_by(df,ID)  
就这些,请不要忘记


在使用group__by之前,请选择过滤函数。

“cor”计算相关系数,该系数是单个数字。你是想让它做点别的吗?也许他想要一个相关矩阵?2x2?我想要一个输出,它返回矩阵X和Y中存在的值的相关向量。我想cor会给出这个输出。但是如果它给出了一个单一的数字,你能建议我哪一个会产生相关向量吗?谢谢你的解决方案,但这无助于我得到答案。我有两张尺寸相同的照片。当我执行关联时。我需要一个输出,该输出的摘要为summary Cr Min.1st Qu.中位数平均值3rd Qu.Max.-0.2110-0.0500 0.0946 0.1250 0 0.2680 0.7630,并且长度Cr应等于矩阵中的行数。例如,如果矩阵X有923行和一列。在关联之后,我的长度函数应该给出923的长度。有可能吗?/如果有,请让我知道方法。除非我遗漏了什么,否则cor函数不会这样做。通常,两个向量之间的相关性是单个数字,即使向量具有数百或数百万个值。你确定相关性是你想要的吗?或者是向量的X和Y列表?编写一个函数,获取数据文件目录和完整案例的阈值,并计算硫酸盐和硝酸盐之间的相关性,以监测所有变量上完全观察到的案例数量大于阈值的位置。函数应返回满足阈值要求的监控器的相关向量。如果没有监视器满足阈值要求,那么函数应该返回长度为0的数字向量。基于此,我认为您需要为满足要求的每个监视器执行cor。我假设有几个监视器,可能每个.csv文件有一个监视器,并将每个cor的结果放入向量中并进行汇总。所以你只需要重复计算cor,每次你得到一个数字。
df_gb<-group_by(df,ID)  
dfsum<-summarize(df_gb,Cor=cor(sulfate,nitrate,use = "pairwise.complete.obs"))  
dfsum<-select(dfsum,Cor)  
dfsum<-filter(dfsum,is.na(Cor)==FALSE)  
return(dfsum$Cor)  
library(dplyr)