cor                   package:base                   R Documentation

_C_o_r_r_e_l_a_t_i_o_n _a_n_d _C_o_v_a_r_i_a_n_c_e _M_a_t_r_i_c_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Compute the correlation or covariance matrix of the columns of `x'
     and the columns of `y'.

_U_s_a_g_e:

     cor(x, y=x, use="all.obs")
     cov(x, y=x, use="all.obs")

_A_r_g_u_m_e_n_t_s:

       x: a matrix or data frame.

       y: a matrix or data frame.

     use: a character string giving the method for handling missing
          observations. This must be one of the stringss `"all.obs"',
          `"complete.obs"' or `"pairwise.complete.obs"' (abbreviations
          are acceptable).

_D_e_t_a_i_l_s:

     If `use' is `"all.obs"', then the presence of missing observations
     will cause the computation to fail. If `use' has the value
     `"complete.obs"' then missing values are handled by casewise
     deletion.  Finally, if `use' has the value
     `"pairwise.complete.obs"' then the correlation between each pair
     of variables is computed using all complete pairs of observations
     on those variables. This can result in covariance or correlation
     matrices which are not positive semidefinite.

_S_e_e _A_l_s_o:

     `cov.wt' for weighted covariance computation.

_E_x_a_m_p_l_e_s:

     ## Two simple vectors
     cor(1:10,2:11)# == 1

     ## Correlation Matrix of Multivariate sample:
     data(longley)
     (Cl <- cor(longley))
     ## Graphical Correlation Matrix:
     symnum(Cl) # highly correlated

     ##--- Missing value treatment:
     data(swiss)
     C1 <- cov(swiss)
     range(eigen(C1, only=T)$val) # 6.19  1921
     swiss[1,2] <- swiss[7,3] <- swiss[25,5] <- NA # create 3 "missing"

      C2 <- cov(swiss) # Error: missing obs...

     C2 <- cov(swiss, use = "complete")
     range(eigen(C2, only=T)$val) # 6.46  1930
     C3 <- cov(swiss, use = "pairwise")
     range(eigen(C3, only=T)$val) # 6.19  1938

