r - 皮尔逊相关系数与 r 中的两个表
问题描述
我有以下两个数据集:
df <- read.table(text =
"Human_Gene_Name hsapiens mmusculus ggallus celegans dmelanogaster cintestinalis trubripes xtropicalis mmulatta
A1CF 5.634789603 4.787491743 3.688879454 2.079441542 3.931825633 2.772588722 3.871201011 3.044522438 4.094344562
AAK1 3.583518938 2.708050201 2.079441542 2.197224577 2.079441542 0.693147181 2.772588722 2.079441542 3.218875825
AAMP 3.555348061 3.17805383 2.48490665 1.791759469 2.302585093 0.693147181 2.48490665 1.098612289 2.079441542", header = T)
ctn_df <- read.table(text = "Species CTN
hsapiens 158
mmusculus 85
ggallus 67
celegans 32
dmelanogaster 27
cintestinalis 19
trubripes 110
xtropicalis 82
mmulatta 71
", header = T)
“df”中的值代表功能多样性,我想根据物种 CTN 和功能多样性计算出每个基因的皮尔逊相关系数。
有没有一种方法可以根据“ctn_df”中的数据轻松地将 CTN 分配给“df”表中的特定物种。
对不起,如果这是一个简单的问题。
解决方案
用于apply
连续传递行数值cor
作为第一个参数,然后用第一列命名相关值:
setNames( apply(df[-1], 1, cor, ctn_df$CTN), df$Human_Gene_Name)
A1CF AAK1 AAMP
0.7556590 0.7834861 0.6829534