실제로 spearmanr이 작동하지만 pearsonr은 배열의 평균을 계산할 필요가 없기 때문에 dtype
은 문자열에 맞지 않습니다. 아래를 참조
from scipy.stats import spearmanr, kendalltau, pearsonr
result = [106, 86, 100, 101, 99, 103, 97, 113, 112, 110]
parameter = ['A', 'B', 'A', 'B', 'A', 'B', 'A', 'B', 'A', 'B']
spearmanr(result, parameter)
(0.17407765595569782, 0.63053607555697644)
help(pearsonr)
Help on function pearsonr in module scipy.stats.stats:
pearsonr(x, y)
Calculates a Pearson correlation coefficient and the p-value for testing
non-correlation.
The Pearson correlation coefficient measures the linear relationship
between two datasets. Strictly speaking, Pearson's correlation requires
that each dataset be normally distributed. Like other correlation
coefficients, this one varies between -1 and +1 with 0 implying no
correlation. Correlations of -1 or +1 imply an exact linear
relationship. Positive correlations imply that as x increases, so does
y. Negative correlations imply that as x increases, y decreases.
The p-value roughly indicates the probability of an uncorrelated system
producing datasets that have a Pearson correlation at least as extreme
as the one computed from these datasets. The p-values are not entirely
reliable but are probably reasonable for datasets larger than 500 or so.
Parameters
----------
x : 1D array
y : 1D array the same length as x
Returns
-------
(Pearson's correlation coefficient,
2-tailed p-value)
References
----------
http://www.statsoft.com/textbook/glosp.html#Pearson%20Correlation
변환 'A'를 1로, 'B'를 2로, 예를 들어이 도움이
params = [1 if el == 'A' else 2 for el in parameter]
print params
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
pearsonr(params, result)
(-0.012995783552244984, 0.97157652425566488)
희망을.
무엇이 작동하지 않았고 어떤 오류가 있습니까? – Anzel