相关疑难解决方法(0)

将三列数据帧重新整形为矩阵("长"到"宽"格式)

我有一个data.frame看起来像这样的.

x a 1 
x b 2 
x c 3 
y a 3 
y b 3 
y c 2 
Run Code Online (Sandbox Code Playgroud)

我想以矩阵形式这样做,所以我可以将它送到热图以制作情节.结果应该类似于:

    a    b    c
x   1    2    3
y   3    3    2
Run Code Online (Sandbox Code Playgroud)

我已尝试cast从reshape包中尝试编写手动函数来执行此操作,但我似乎无法正确执行此操作.

r matrix plyr reshape dataframe

121
推荐指数
1
解决办法
7万
查看次数

将距离矩阵转换并保存为特定格式

我通过以下步骤得到了一个距离矩阵:

x <- read.table(textConnection('
     t0 t1 t2
 aaa  0  1  0
 bbb  1  0  1
 ccc  1  1  1
 ddd  1  1  0
 ' ), header=TRUE)
Run Code Online (Sandbox Code Playgroud)

因此x是具有列标题和行标题的数据框

    t0 t1 t2
aaa  0  1  0
bbb  1  0  1
ccc  1  1  1
ddd  1  1  0

require(vegan)
d <- vegdist(x, method="jaccard")
Run Code Online (Sandbox Code Playgroud)

距离矩阵d如下获得:

          aaa       bbb       ccc
bbb 1.0000000                    
ccc 0.6666667 0.3333333          
ddd 0.5000000 0.6666667 0.3333333
Run Code Online (Sandbox Code Playgroud)

通过输入str(d),我发现它不是普通的表格,也不是csv格式.

Class 'dist'  atomic [1:6] 1 0.667 0.5 0.333 0.667 ...
  ..- attr(*, "Size")= …
Run Code Online (Sandbox Code Playgroud)

csv r distance matrix

17
推荐指数
2
解决办法
2万
查看次数

R-按列名称将BIG表转换为矩阵

这是对现有问题的扩展:按列名将表转换为矩阵

我正在使用最终答案:https : //stackoverflow.com/a/2133898/1287275

原始CSV文件矩阵大约有150万行,其中包含三列...行索引,列索引和一个值。所有数字均为长整数。底层矩阵是大小约为220K x 220K的稀疏矩阵,每行平均约7个值。

原始的read.table可以正常工作。

  x <- read.table("/users/wallace/Hadoop_Local/reference/DiscoveryData6Mo.csv", header=TRUE);
Run Code Online (Sandbox Code Playgroud)

我执行reshape命令时出现问题。

  reshape(x, idvar="page_id", timevar="reco", direction="wide")
Run Code Online (Sandbox Code Playgroud)

CPU命中率达到100%,并且永远存在。机器(Mac)的内存比R正在使用的内存更多。我不明白为什么构造稀疏矩阵要花这么长时间。

我正在使用默认的矩阵包。我没有安装任何额外的东西。几天前我刚刚下载了R,所以我应该拥有最新版本。

有什么建议吗?

谢谢,华莱士

r sparse-matrix

5
推荐指数
1
解决办法
2635
查看次数

R:使用textconnection命令加载R表或csv文件

在上一条消息中 按列名将表转换为矩阵

我想对csv表或R中的表使用相同的方法.你能不能教我如何修改第一个命令行?

x <- read.table(textConnection(' models cores  time 4 1 0.000365 4 2 0.000259 4 3 0.000239 4 4 0.000220 8 1 0.000259 8 2 0.000249 8 3 0.000251 8 4 0.000258' ), header=TRUE)   

library(reshape) cast(x, models ~ cores)
Run Code Online (Sandbox Code Playgroud)

我应该使用以下data.csv文件

x <- read.csv(textConnection("data.csv"), header=TRUE)
Run Code Online (Sandbox Code Playgroud)

我应该将以下内容用于名为xyz的R表

x <- xyz(textConnection(xyz), header=TRUE)
Run Code Online (Sandbox Code Playgroud)

是否必须使用textConnection来使用cast命令?

谢谢.

csv r data-import

2
推荐指数
1
解决办法
5449
查看次数

标签 统计

r ×4

csv ×2

matrix ×2

data-import ×1

dataframe ×1

distance ×1

plyr ×1

reshape ×1

sparse-matrix ×1