楼主: star5888825
1652 4

[有偿编程] [求助]如何把data.frame转为方阵 [推广有奖]

  • 0关注
  • 0粉丝

已卖:2份资源

大专生

10%

还不是VIP/贵宾

-

威望
0
论坛币
2838 个
通用积分
0.0146
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
169 点
帖子
5
精华
0
在线时间
80 小时
注册时间
2017-5-16
最后登录
2020-7-14

楼主
star5888825 发表于 2018-12-23 14:42:53 |AI写论文
199论坛币
微信图片_20181223141954.png 现有数据如图,第一列、第二列分别为产品代码,第三列为两种产品的接近度,我想把这些数据转化为5017*5017的矩阵(产品一共有5017种),效果类似图二(在一楼),请问各位大神怎么做~~~


最佳答案

star5888825 查看完整内容

效果类似这样的,请问大神们该怎么做呀
关键词:R语言 数据处理

沙发
star5888825 发表于 2018-12-23 14:42:54
微信图片_20181223141906.png
效果类似这样的,请问大神们该怎么做呀

藤椅
67890 发表于 2018-12-23 14:42:54
one more example:

olddata_long
#>    subject sex condition measurement
#> 1        1   M   control         7.9
#> 2        1   M     cond1        12.3
#> 3        1   M     cond2        10.7
#> 4        2   F   control         6.3
#> 5        2   F     cond1        10.6
#> 6        2   F     cond2        11.1
#> 7        3   F   control         9.5
#> 8        3   F     cond1        13.1
#> 9        3   F     cond2        13.8
#> 10       4   M   control        11.5
#> 11       4   M     cond1        13.4
#> 12       4   M     cond2        12.9

library(tidyr)

# The arguments to spread():
# - data: Data object
# - key: Name of column containing the new column names
# - value: Name of column containing values
data_wide <- spread(olddata_long, condition, measurement)
data_wide
#>   subject sex cond1 cond2 control
#> 1       1   M  12.3  10.7     7.9
#> 2       2   F  10.6  11.1     6.3
#> 3       3   F  13.1  13.8     9.5
#> 4       4   M  13.4  12.9    11.5
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
fdsasdfddsa 发表于 2018-12-23 17:46:12
excel用sumifs做

报纸
67890 发表于 2018-12-23 23:55:49
试试transpose,第一列as row, 第二列as column, value = 第三列

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 17:47