我有一个14列的数据框,我想计算这些列之间的相关性 . 但是,有些列中有NA . 最初,我使用na.omit(a)从数据帧中删除NA,然后使用cor计算相关性,但是由于5列主要是NA,所以做na.omit删除了我的大部分观察结果 .

目前,我试图使用For循环单独选择一个列,使用na.omit,计算相关性,并将值放在一个数组中 . 我将为所有变量重复此过程 . 下面是数据示例和我的代码示例 .

head(selected_data)

final initial qualitative quantitative Revenue
 NA     1        2           11           2 
  1    NA        4           3           NA 
 NA    NA        8           NA          NA 
 8     7         9           6            3

a=na.omit(selected_data$final)
b=na.omit(selected_data$initial)
c=na.omit(selected_data$qualitative)
d=na.omit(selected_data$quantitative)
e=na.omit(selected_data$Revenue)


      col_name =c('a', 'b' ,'c', 'd', 'e')
   i="a"
   j="a"
   for (i in col_name) {
       for (j in col_name) {
          Rating_array<-cor(i,j)
  }
}

不幸的是,循环不起作用 . 我是R的新手,我对更好的方法持开放态度 . 如果您提供任何帮助,我将不胜感激 .