R 将三列数据帧转换为矩阵
这是问题的继续[ 我有一个数据框,如下所示:R 将三列数据帧转换为矩阵,r,R,这是问题的继续[ 我有一个数据框,如下所示: Gene Rptname freq Gene1 Cha1 1 Gene1 Cha2 1 Gene1 Cha3 1 Gene1 Cha4 1 Gene2 Cha1 1 Gene2 TH1 2 Gene2 KI2 2 Gene2 Cha4 2 Gene2 Cha5 4 我想将数据帧转换为以下格式 Ch
Gene Rptname freq
Gene1 Cha1 1
Gene1 Cha2 1
Gene1 Cha3 1
Gene1 Cha4 1
Gene2 Cha1 1
Gene2 TH1 2
Gene2 KI2 2
Gene2 Cha4 2
Gene2 Cha5 4
我想将数据帧转换为以下格式
Cha1 Cha2 Cha3 Cha4 Cha5 KI2 TH1
Gene1 1 1 1 1 0 0 0
Gene2 1 0 0 2 4 2 2
我觉得这是一个重塑数据的问题,但我不知道如何重塑数据-你可以这样做
xtabs(freq~., df1)
# Rptname
#Gene Cha1 Cha2 Cha3 Cha4 Cha5 KI2 TH1
# Gene1 1 1 1 1 0 0 0
# Gene2 1 0 0 2 4 2 2
或
或者使用spread获得“data.frame”输出
library(tidyr)
spread(df1, Rptname, freq, fill=0)
如果原始数据集是“dat”,也可以使用表来完成
你可以
xtabs(freq~., df1)
# Rptname
#Gene Cha1 Cha2 Cha3 Cha4 Cha5 KI2 TH1
# Gene1 1 1 1 1 0 0 0
# Gene2 1 0 0 2 4 2 2
或
或者使用spread获得“data.frame”输出
library(tidyr)
spread(df1, Rptname, freq, fill=0)
如果原始数据集是“dat”,也可以使用表来完成