微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从数据集中提取数据并将其格式化为 R 中的矩阵

如何解决从数据集中提取数据并将其格式化为 R 中的矩阵

我想制作这个数据框

enter image description here

进入这个矩阵

enter image description here

我试过了:

x <- read.csv("sample1.csv")

ax <- matrix(c(x[1,1],x[2,x[1,3],x[3,4],x[4,5],x[5,6],x[6,7],2],7]),10,3,byrow=TRUE)

bx <- ax[order(ax[,decreasing = TRUE),]

但它一点也不漂亮,而且如果我得到不同的样本数据,它也会有很多工作要做。 所以我想尽可能简化它,有什么建议吗?

解决方法

这可以通过使用 melt() 包中的 reshape2 函数来实现:

> a = matrix(c(1:9),nrow = 3,ncol = 3,dimnames = list(LETTERS[1:3],letters[1:3]))
> a
  a b c
A 1 4 7
B 2 5 8
C 3 6 9
> library(reshape2)
> melt(a,na.rm = TRUE)
  Var1 Var2 value
1    A    a     1
2    B    a     2
3    C    a     3
4    A    b     4
5    B    b     5
6    C    b     6
7    A    c     7
8    B    c     8
9    C    c     9

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。