亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言中dcast 和 melt的使用方法

發布時間:2021-07-20 10:13:55 來源:億速云 閱讀:1441 作者:chen 欄目:大數據

本篇內容介紹了“R語言中dcast 和 melt的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. 圖片說明

R語言中dcast 和 melt的使用方法

2. 例子

示例數據:

set.seed(123)
dat = data.frame(ID = paste0("ID_",1:10),y1 = rnorm(10),y2=rnorm(10),y3=rnorm(10),y4 = rnorm(10))
dat

結果

> 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. 變為三列:ID,trait,y

melt 代碼

re1 = melt(data = dat,id.vars=c("ID"),variable.name="Loc",value.name="y")
head(re1)

結果預覽

> 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代碼

dcast(data=re1,ID ~Loc)

結果

> 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.命令解析

  • melt是融合的意思,將寬的數據,變為長的數據。比如在田間數據中,ID,Loc,rep1, rep2, re3,這里的rep1,rep2,rep3是重復1,2,3的值,需要將數據變為:ID,Loc,Rep,y四列的數據。這樣就可以用melt命令

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是長數據,變寬數據,因此ex1_re如果想要變回去,用dcast(ex1_re, Cul + Loc ~ variable)~號左邊是保持不變的列名,~右邊是需要擴展的列名, 省略的value是需要填充的數據。

> 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

“R語言中dcast 和 melt的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 陆川县| 乐昌市| 城市| 中西区| 古交市| 遂昌县| 庄河市| 辽中县| 塘沽区| 台南县| 藁城市| 凌云县| 海门市| 都兰县| 电白县| 金山区| 县级市| 新龙县| 寻甸| 祁阳县| 乌兰县| 福州市| 广安市| 淮安市| 阜南县| 望城县| 开远市| 治多县| 商都县| 朝阳县| 湖州市| 宣城市| 海门市| 沽源县| 彰武县| 南开区| 武功县| 潜江市| 静安区| 德令哈市|