如何将我的基因数据转换为稀疏矩阵?
How can I convert my gene data into a sparse matrix?
我有一个 csv 文件,其中的数据按以下格式排列:
Species Transcripts per million ARG subtype
Ktedonobacter racemifer 40.1956726 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 16.1032353 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 11.94756169 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 4.827971857 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 0 beta-lactam penA
Kutzneria albida 31.74637821 beta-lactam penA
Kutzneria albida 30.05937261 beta-lactam penA
Kutzneria albida 18.00431172 beta-lactam penA
Kutzneria sp. 744 16.78071772 beta-lactam penA
我想转换出现在顶部的数据,如果它出现在相同的物种和基因中(在示例数据中我添加了 TPM对于 macB 基因,因为它出现在 Ktedonobacter racemifer 中)。然后我想像下面的 table 那样以稀疏格式排列它。有没有 R 专家可以帮助我解决这个问题?谢谢!
macB penA
Ktedonobacter racemifer 73.07 0
Kutzneria albida 0 79.81
Kutzneria sp. 744 0 16.7
我尝试以 .csv 格式读取它,创建一个矩阵并将其转换为稀疏矩阵,但我收到错误代码...可能是因为我不熟悉 Matrix 模块
在基础 R 中,您将使用 aggregate
,然后使用 xtabs
,公式相同:
xtabs(Transcripts.per.million~Species+subtype,aggregate(.~Species+subtype,df,sum))
subtype
Species macB penA
Ktedonobacter racemifer 73.07444 0.00000
Kutzneria albida 0.00000 79.81006
Kutzneria sp.744 0.00000 16.78072
我有一个 csv 文件,其中的数据按以下格式排列:
Species Transcripts per million ARG subtype
Ktedonobacter racemifer 40.1956726 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 16.1032353 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 11.94756169 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 4.827971857 macrolide-lincosamide-streptogramin macB
Ktedonobacter racemifer 0 beta-lactam penA
Kutzneria albida 31.74637821 beta-lactam penA
Kutzneria albida 30.05937261 beta-lactam penA
Kutzneria albida 18.00431172 beta-lactam penA
Kutzneria sp. 744 16.78071772 beta-lactam penA
我想转换出现在顶部的数据,如果它出现在相同的物种和基因中(在示例数据中我添加了 TPM对于 macB 基因,因为它出现在 Ktedonobacter racemifer 中)。然后我想像下面的 table 那样以稀疏格式排列它。有没有 R 专家可以帮助我解决这个问题?谢谢!
macB penA
Ktedonobacter racemifer 73.07 0
Kutzneria albida 0 79.81
Kutzneria sp. 744 0 16.7
我尝试以 .csv 格式读取它,创建一个矩阵并将其转换为稀疏矩阵,但我收到错误代码...可能是因为我不熟悉 Matrix 模块
在基础 R 中,您将使用 aggregate
,然后使用 xtabs
,公式相同:
xtabs(Transcripts.per.million~Species+subtype,aggregate(.~Species+subtype,df,sum))
subtype
Species macB penA
Ktedonobacter racemifer 73.07444 0.00000
Kutzneria albida 0.00000 79.81006
Kutzneria sp.744 0.00000 16.78072