当在具有大量变量的时间序列上运行cor()时,我得到一个表,其中每个变量都有一行和一列,显示它们之间的相关性.
如何将此表视为从最相关到最不相关的列表(消除所有NA结果和映射回自身的结果(即A与A的相关性)).我还想将反(负)结果计为绝对值,但仍将其显示为负值.
所以期望的输出将是这样的:
A,B,0.98
A,C,0.9
C,R,-0.8
T,Z,0.5
Run Code Online (Sandbox Code Playgroud) 我使用以下corrplot:
require("corrplot") ## needs the corrplot package
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
addgrid.col = "gray50", tl.offset = 2, tl.cex=2,
tl.col = "black",
col = colorRampPalette(c("yellow","green","navyblue"))(100))
Run Code Online (Sandbox Code Playgroud)
这是使用此处提供的csv文件创建的.
图表很好,我可以调整我想要的cl标签.我试过调整x和y轴上的标签没有任何影响.我看着改变马克 - 但我还没找到办法.我尝试使用cex.label来改变大小是不成功的.
问题 - 如何使文本出现在corrplot(不是cl,而不是在网格中)更大?
两个轴是以下数据框:
lpp_axis1 <- data.frame("Compile Source Code" = Q3A.1, "View Source Code" = Q3A.2, "Change Source Code" = Q3A.3, "Write Documentation" = Q3A.8, "File Bug Reports"= Q3B.3, "Ask Questions" = Q3B.5, "Provide Answers" = Q3B.6, "Overall Participation" = Q3a3bConsolidated)
lpp_axis2 <- data.frame("Identification" = Q1,"Overall …Run Code Online (Sandbox Code Playgroud) 在给定数字向量的R中是否有一个函数,返回另一个向量,其中标准单位对应于每个值?
其中......标准单位:一个值是多少个SD +或 - 来自平均值
例:
x <- c(1,3,4,5,7) # note: mean = 4, sd = 2
foo(x)
[1] -1.5 -0.5 0.0 0.5 1.5
Run Code Online (Sandbox Code Playgroud)
这个(虚构的)"su"功能是否已包含在包中?
谢谢.
我正在使用R(和CCA包)并试图用两个变量集(物种丰度和食物丰度分别存储为两个矩阵Y和X)进行正则化的典型相关分析,其中单位数(N = 15)小于矩阵中变量的数量,大于400(大多数是潜在的"解释"变量,只有12-13"响应"变量).冈萨雷斯等人.(2008年,http://www.jstatsoft.org/v23/i12/paper)请注意,该软件包"包含一个CCA的正则化版本,用于处理比单位更多变量的数据集",这当然只是我所拥有的15"单位." 因此,我正在尝试使用CCA包执行正则化的规范相关分析,以便查看我的变量集中的关系.我一直在关注Gonzalez等人(2008)在他们的论文中进行的过程.但是,我收到一条错误消息Error in chol.default(Bmat) : the leading minor of order 12 is not positive definite,我不知道这意味着什么或该做些什么.这是代码,任何有关该主题的想法或知识将不胜感激.
library(CCA)
correl <- matcor(X, Y)
img.matcor(correl, type = 2)
res.regul <- estim.regul(X, Y, plt = TRUE,
grid1 = seq(0.0001, 0.2, l=51),
grid2 = seq(0, 0.2, l=51))
Error in chol.default(Bmat) : the leading minor of order 12 is not positive definite
Run Code Online (Sandbox Code Playgroud)
(注意:estim.regul()当您使用CCA的样本数据nutrimouse时,需要很长时间(~30-40分钟)才能完成).
有什么建议?有谁知道如何处理这个错误?是因为我的一些列中有一个NA吗?可能是因为有太多0的列?预先感谢您提供给这个综合统计数据和R新手的任何帮助.
我正在使用Python库scipy来计算两个浮点数组的Pearson相关性.即使数组不同,系数的返回值也始终为1.0.例如:
[-0.65499887 2.34644428]
[-1.46049758 3.86537321]
Run Code Online (Sandbox Code Playgroud)
我用这种方式调用例程:
r_row, p_value = scipy.stats.pearsonr(array1, array2)
Run Code Online (Sandbox Code Playgroud)
值r_row始终为1.0.我究竟做错了什么?
我有一组看起来像A和B的大型数据帧:
A <- data.frame(A1=c(1,2,3,4,5),B1=c(6,7,8,9,10),C1=c(11,12,13,14,15 ))
A1 B1 C1
1 1 6 11
2 2 7 12
3 3 8 13
4 4 9 14
5 5 10 15
B <- data.frame(A2=c(6,7,7,10,11),B2=c(2,1,3,8,11),C2=c(1,5,16,7,8))
A2 B2 C2
1 6 2 1
2 7 1 5
3 7 3 16
4 10 8 7
5 11 11 8
Run Code Online (Sandbox Code Playgroud)
我想创建一个向量(C),表示A1和A2,B1和B2以及C1和C2之间的Pearson相关性.在这种情况下,例如,那些相关性是:
[1] 0.95 0.92 0.46
Run Code Online (Sandbox Code Playgroud) 我正在为我的数据建立一个相关矩阵,看起来像这样
df <- structure(list(V1 = c(56, 123, 546, 26, 62, 6, NA, NA, NA, 15
), V2 = c(21, 231, 5, 5, 32, NA, 1, 231, 5, 200), V3 = c(NA,
NA, 24, 51, 53, 231, NA, 153, 6, 700), V4 = c(2, 10, NA, 20,
56, 1, 1, 53, 40, 5000)), .Names = c("V1", "V2", "V3", "V4"), row.names = c(NA,
10L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
这给出了以下数据框:
V1 V2 V3 V4
1 56 21 NA 2
2 123 231 NA 10 …Run Code Online (Sandbox Code Playgroud) 有谁知道如何从python中的一个非常大的稀疏矩阵计算相关矩阵?基本上,我正在寻找类似于numpy.corrcoefscipy稀疏矩阵的东西.
我有一个pandas DataFrame,df.
我想提取df中所有(col,index)的列表,其值为(col,index)> .95.
另外,我想说明它们位于df的下对角线,不包括对角线本身.(如果它有帮助,它是相关性df,所以对角线是1,这不是我感兴趣的.)
我怎样才能做到这一点?