当前位置:网站首页>The use of dcast and melt in R language is simple and easy to understand
The use of dcast and melt in R language is simple and easy to understand
2022-04-23 13:01:00 【qq_ fifty-two million eight hundred and thirteen thousand one h】
R In language dcast and melt Use

2. Example
Example data :
set.seed(123)
dat = data.frame(ID = paste0("ID_",1:10),y1 = rnorm(10),y2=rnorm(10),y3=rnorm(10),y4 = rnorm(10))
dat
result
> dat
ID y1 y2 y3 y4
1 ID_1 -0.56047565 1.2240818 -1.0678237 0.42646422
2 ID_2 -0.23017749 0.3598138 -0.2179749 -0.29507148
3 ID_3 1.55870831 0.4007715 -1.0260044 0.89512566
4 ID_4 0.07050839 0.1106827 -0.7288912 0.87813349
5 ID_5 0.12928774 -0.5558411 -0.6250393 0.82158108
6 ID_6 1.71506499 1.7869131 -1.6866933 0.68864025
7 ID_7 0.46091621 0.4978505 0.8377870 0.55391765
8 ID_8 -1.26506123 -1.9666172 0.1533731 -0.06191171
9 ID_9 -0.68685285 0.7013559 -1.1381369 -0.30596266
10 ID_10 -0.44566197 -0.4727914 1.2538149 -0.38047100
3. Change to three columns :ID,trait,y
melt Code
re1 = melt(data = dat,id.vars=c("ID"),variable.name="Loc",value.name="y")
head(re1)
Results Preview
> head(re1)
ID Loc y
1 ID_1 y1 -0.56047565
2 ID_2 y1 -0.23017749
3 ID_3 y1 1.55870831
4 ID_4 y1 0.07050839
5 ID_5 y1 0.12928774
6 ID_6 y1 1.71506499
4. dcast Code
dcast(data=re1,ID ~Loc)
result
> dcast(data=re1,ID ~Loc)
Using 'y' as value column. Use 'value.var' to override
ID y1 y2 y3 y4
1 ID_1 -0.56047565 1.2240818 -1.0678237 0.42646422
2 ID_10 -0.44566197 -0.4727914 1.2538149 -0.38047100
3 ID_2 -0.23017749 0.3598138 -0.2179749 -0.29507148
4 ID_3 1.55870831 0.4007715 -1.0260044 0.89512566
5 ID_4 0.07050839 0.1106827 -0.7288912 0.87813349
6 ID_5 0.12928774 -0.5558411 -0.6250393 0.82158108
7 ID_6 1.71506499 1.7869131 -1.6866933 0.68864025
8 ID_7 0.46091621 0.4978505 0.8377870 0.55391765
9 ID_8 -1.26506123 -1.9666172 0.1533731 -0.06191171
10 ID_9 -0.68685285 0.7013559 -1.1381369 -0.30596266
5. Command parsing
melt It means integration , Put wide data , Become long data . For example, in field data ,ID,Loc,rep1, rep2, re3, there rep1,rep2,rep3 It's repetition 1,2,3 Value , You need to turn the data into :ID,Loc,Rep,y Four columns of data . In this way, you can use melt command
melt(dat,c("ID","Loc"))
> ex1 = data.frame(Cul = rep(1:10,2),Loc=rep(1:2,each=10),rep1=rnorm(20),rep2=rnorm(20),rep3=rnorm(20))
> head(ex1)
Cul Loc rep1 rep2 rep3
1 1 1 -0.71040656 0.1176466 0.7017843
2 2 1 0.25688371 -0.9474746 -0.2621975
3 3 1 -0.24669188 -0.4905574 -1.5721442
4 4 1 -0.34754260 -0.2560922 -1.5146677
5 5 1 -0.95161857 1.8438620 -1.6015362
6 6 1 -0.04502772 -0.6519499 -0.5309065
> ex1_re = melt(ex1,c("Cul","Loc"))
> head(ex1_re)
Cul Loc variable value
1 1 1 rep1 -0.71040656
2 2 1 rep1 0.25688371
3 3 1 rep1 -0.24669188
4 4 1 rep1 -0.34754260
5 5 1 rep1 -0.95161857
6 6 1 rep1 -0.04502772
dcast Long data , Widening data , therefore ex1_re If you want to change back , use dcast(ex1_re, Cul + Loc ~ variable), ~ To the left of the sign is the column name that remains unchanged ,~ On the right is the column name that needs to be extended , Omitted value Is the data that needs to be filled .
> dcast(ex1_re,Cul+Loc~variable)
Cul Loc rep1 rep2 rep3
1 1 1 -0.71040656 0.11764660 0.7017843
2 1 2 -0.57534696 1.44455086 0.7877388
3 2 1 0.25688371 -0.94747461 -0.2621975
4 2 2 0.60796432 0.45150405 0.7690422
5 3 1 -0.24669188 -0.49055744 -1.5721442
6 3 2 -1.61788271 0.04123292 0.3322026
7 4 1 -0.34754260 -0.25609219 -1.5146677
8 4 2 -0.05556197 -0.42249683 -1.0083766
9 5 1 -0.95161857 1.84386201 -1.6015362
10 5 2 0.51940720 -2.05324722 -0.1194526
11 6 1 -0.04502772 -0.65194990 -0.5309065
12 6 2 0.30115336 1.13133721 -0.2803953
13 7 1 -0.78490447 0.23538657 -1.4617556
14 7 2 0.10567619 -1.46064007 0.5629895
15 8 1 -1.66794194 0.07796085 0.6879168
16 8 2 -0.64070601 0.73994751 -0.3724388
17 9 1 -0.38022652 -0.96185663 2.1001089
18 9 2 -0.84970435 1.90910357 0.9769734
19 10 1 0.91899661 -0.07130809 -1.2870305
This article is from WeChat official account. - Analysis of breeding data (R-breeding), author :
版权声明
本文为[qq_ fifty-two million eight hundred and thirteen thousand one h]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231258305750.html
边栏推荐
- 只是不断地建构平台,不断地收拢流量,并不能够做好产业互联网
- jmeter操作redis
- 精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
- JDBC connection pool
- The continuous construction of the Internet industry platform is not only able to collect traffic
- mysql8安装
- Fashion cloud learning - input attribute summary
- Object.keys后key值数组乱序的问题
- Software testing weekly (issue 68): the best way to solve difficult problems is to wait and see the changes and push the boat with the current.
- Record a website for querying compatibility, string Replaceall() compatibility error
猜你喜欢

Custom nail robot alarm

风尚云网学习-h5的input:type属性的image属性

Customize classloader and implement hot deployment - use loadclass

Introduction to servlet listener & filter

R语言中dcast 和 melt的使用 简单易懂

Free and open source intelligent charging pile SaaS cloud platform of Internet of things

Design of body fat detection system based on 51 single chip microcomputer (51 + OLED + hx711 + US100)

8086 of x86 architecture

Jupiter notebook installation

Homomorphic encryption technology learning
随机推荐
World Book Day: I'd like to recommend these books
decast id.var measure.var数据拆分与合并
只是不断地建构平台,不断地收拢流量,并不能够做好产业互联网
Important knowledge of transport layer (interview, retest, final)
The continuous construction of the Internet industry platform is not only able to collect traffic
Three channel ultrasonic ranging system based on 51 single chip microcomputer (timer ranging)
The project file '' has been renamed or is no longer in the solution, and the source control provider associated with the solution could not be found - two engineering problems
Design of body fat detection system based on 51 single chip microcomputer (51 + OLED + hx711 + US100)
Go language: passing slices between functions
Use source insight to view and edit source code
CVPR 2022&NTIRE 2022|首个用于高光谱图像重建的 Transformer
4. DRF permission & access frequency & filtering & sorting
将opencv 图片转换为字节的方式
云原生KubeSphere部署Redis
R语言中dcast 和 melt的使用 简单易懂
Sort out several uses of network IP agent
Trier les principales utilisations de l'Agent IP réseau
leetcode-791. 自定义字符串排序
31. 下一个排列
Introduction to kubernetes