Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从数据创建r矩阵或表_R_Statistics - Fatal编程技术网

如何从数据创建r矩阵或表

如何从数据创建r矩阵或表,r,statistics,R,Statistics,我的csv数据格式如下所示。我想用这个文件为热图创建一个矩阵。我要用的格洛特 A B C 1 apple 3 2 book 5 4 bag 1 9 desk 4 10 apple 8 11 book 66 14 desk 2 我在初始文件中有另一列要订购 A B C D 1 apple 3 4 2 book 5 1 4 bag 1 2 9 desk 4 3 10 apple 8 4 11 book 66 1 14

我的csv数据格式如下所示。我想用这个文件为热图创建一个矩阵。我要用的格洛特

A B C 1 apple 3 2 book 5 4 bag 1 9 desk 4 10 apple 8 11 book 66 14 desk 2 我在初始文件中有另一列要订购

A B C D 1 apple 3 4 2 book 5 1 4 bag 1 2 9 desk 4 3 10 apple 8 4 11 book 66 1 14 desk 2 3 A、B、C、D 1苹果3 4 2第5册1 4包1 2 9办公桌4 3 10苹果8 4 11第66卷1 14办公桌2 3
由于此D排序列,如何对矩阵排序?或者我想按1-14列的总和排序。

您可以使用
read.table
执行此操作。通过在R-GUI中键入
?read.table
,您可以获得选择正确参数的帮助。

您可以使用
read.table
完成此操作。通过在R-GUI中键入
?read.table
,您可以获得选择正确参数的帮助。

您可以使用
xtabs

d <- read.delim(textConnection("
A B C
1 apple 3
2 book 5
4 bag 1
9 desk 4
10 apple 8
11 book 66
14 desk 2
"), sep=" ")

xtabs(C ~ B + A, d)

       A
B        1  2  4  9 10 11 14
         0  0  0  0  0  0  0
  apple  3  0  0  0  8  0  0
  bag    0  0  1  0  0  0  0
  book   0  5  0  0  0 66  0
  desk   0  0  0  4  0  0  2

d您可以使用
xtabs

d <- read.delim(textConnection("
A B C
1 apple 3
2 book 5
4 bag 1
9 desk 4
10 apple 8
11 book 66
14 desk 2
"), sep=" ")

xtabs(C ~ B + A, d)

       A
B        1  2  4  9 10 11 14
         0  0  0  0  0  0  0
  apple  3  0  0  0  8  0  0
  bag    0  0  1  0  0  0  0
  book   0  5  0  0  0 66  0
  desk   0  0  0  4  0  0  2

d使用上面Vincent的read.delim部分和重塑方法。没有那么优雅

d <- read.delim(textConnection("
A B C
1 apple 3
2 book 5
4 bag 1
9 desk 4
10 apple 8
11 book 66
14 desk 2
"), sep=" ")

Var1 <- rep(d[,1], d[,3])
Var2 <- rep(d[,2], d[,3])
d <- data.frame(Var1=Var1, Var2=Var2)
d <- cast(melt(d), Var2~value)

> d
   Var2 1 2 4 9 10 11 14
1 apple 3 0 0 0  8  0  0
2   bag 0 0 1 0  0  0  0
3  book 0 5 0 0  0 66  0
4  desk 0 0 0 4  0  0  2

d使用上面Vincent的read.delim部分和重塑方法。没有那么优雅

d <- read.delim(textConnection("
A B C
1 apple 3
2 book 5
4 bag 1
9 desk 4
10 apple 8
11 book 66
14 desk 2
"), sep=" ")

Var1 <- rep(d[,1], d[,3])
Var2 <- rep(d[,2], d[,3])
d <- data.frame(Var1=Var1, Var2=Var2)
d <- cast(melt(d), Var2~value)

> d
   Var2 1 2 4 9 10 11 14
1 apple 3 0 0 0  8  0  0
2   bag 0 0 1 0  0  0  0
3  book 0 5 0 0  0 66  0
4  desk 0 0 0 4  0  0  2

d是的,我使用了read.table。但它不像我上面展示的矩阵。从我的表格中如何创建如上所述的矩阵。是的,我使用了read.table。但它不像我上面展示的矩阵。从我的表格中,如何创建如上所述的矩阵。这是一个较短的
重塑
解决方案,带有初始数据。frame:
dcast(d,B~a,fill=0)
。这是一个较短的
重塑
解决方案,带有初始数据。frame:
dcast(d,B~a,fill=0)
。我需要订购这个矩阵,我有额外的列供订购。检查我的问题,我会编辑它。我需要订购这个矩阵,我有额外的列订购。检查我的问题,我会编辑它。