R语言数据转置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言数据转置相关的知识,希望对你有一定的参考价值。

参考技术A #读取wet.txt需要转换的目标矩阵,显示原行列。本例中行为sample,列为otu

otu<-read.delim('E:\\R语言网络分析\\wet.txt',sep='\t',row.names=1)

otu1<-t(otu)

write.table(otu1,file='otu9.txt',sep='\t',row.names=T)

#读取wet.xlsx需要转换的目标矩阵,显示原行列。本例中行为sample,列为otu

library(openxlsx)

otu<-read_excel("E:\\R语言网络分析\\wet.xlsx")

otu1=t(otu)

##导出已转置文件到本地储存,此处导出的文件为Excel格式文件

write.xlsx(otu1,file="otu11.xlsx",sep='\t',row.names=T)

# 将otu1保存为csv文件

write.csv(otu1,file="otu11.csv")

library(openxlsx)

otu<-read_excel("E:\\R语言网络分析\\wet.xlsx")

head(otu)

class(otu)

otu1=t(otu)

write.xlsx(otu1,file="otu2.xlsx") ##导出已转置文件到本地储存,此处导出的文件为Excel格式文件

# 将otu1保存为csv文件

write.csv(otu1,file="otu5.csv")

R语言转置

R语言--转置

    最近遇到一个问题,需要把两个文件(a,b)的内容整合到一起,a文件的行内容是b文件的列内容,最容易想到的方法是将其中一个文件转置一下喽。然而,这两个文件都超大,Excel转置超过行数的限制了。用R可以轻松解决:


原文件格式:

目标文件格式:


代码只有三行,如下:

a = read.table("原文件", fill = T, sep = "\t", header = T, stringsAsFactors = FALSE)b = data.frame(t(a)) #一定是数据框转置,因为输入文件不止一种数据类型write.table(b,  file = "结果文件", row.names = TRUE, col.names = FALSE, quote = FALSE, sep = "\t")

轻松搞定了。

以上是关于R语言数据转置的主要内容,如果未能解决你的问题,请参考以下文章

r语言按照一列进行分组转置

如何将r语言中矩阵转成c 中数组

R语言数据集行列互换技巧

R函数理解整理

R语言统计(01)——行(短)数据转为列(长)数据

R语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)