如何在R資料框中連線數值列?
如果我們在R資料框的多個列中分散了值,則需要將它們組合並建立一個單列,此組合過程稱為連線。值的散佈主要發生在資料格式不佳,無法載入到R中的情況下。因此,為了處理此散佈問題,我們需要使用apply函式。
考慮以下資料框:
示例
x1<-rpois(20,5) y1<-rpois(20,5) z1<-rpois(20,5) a1<-rpois(20,5) df1<-data.frame(x1,y1,z1,a1) df1
輸出
x1 y1 z1 a1 1 3 2 1 8 2 5 2 5 8 3 9 4 1 4 4 3 4 4 4 5 5 4 4 4 6 6 5 5 3 7 5 5 5 6 8 7 3 6 4 9 5 7 6 8 10 3 3 4 5 11 7 4 4 8 12 4 3 2 4 13 6 3 6 6 14 7 5 3 1 15 6 9 8 3 16 9 6 11 6 17 5 5 6 6 18 2 4 4 9 19 1 8 2 4 20 11 4 4 2
透過連線df1所有列中的值,在df1中建立一個新列:
示例
df1$all<-apply(df1,1,paste,collapse="") df1
輸出
x1 y1 z1 a1 all 1 3 2 1 8 3218 2 5 2 5 8 5258 3 9 4 1 4 9414 4 3 4 4 4 3444 5 5 4 4 4 5444 6 6 5 5 3 6553 7 5 5 5 6 5556 8 7 3 6 4 7364 9 5 7 6 8 5768 10 3 3 4 5 3345 11 7 4 4 8 7448 12 4 3 2 4 4324 13 6 3 6 6 6366 14 7 5 3 1 7531 15 6 9 8 3 6983 16 9 6 11 6 96116 17 5 5 6 6 5566 18 2 4 4 9 2449 19 1 8 2 4 1824 20 11 4 4 2 11442
示例
x2<-sample(LETTERS[1:4],20,replace=TRUE) y2<-sample(LETTERS[1:4],20,replace=TRUE) z2<-sample(LETTERS[1:4],20,replace=TRUE) df2<-data.frame(x2,y2,z2) df2
輸出
x2 y2 z2 1 D D C 2 D D C 3 C D A 4 D D D 5 A C B 6 A D A 7 B B D 8 B C A 9 D A C 10 A A B 11 B D D 12 A D C 13 D C C 14 C A B 15 A D A 16 A D C 17 D C A 18 A B B 19 D A C 20 D B C
透過連線df2所有列中的值,在df2中建立一個新列:
示例
df2$all<-apply(df2,1,paste,collapse="") df2
輸出
x2 y2 z2 all 1 D D C DDC 2 D D C DDC 3 C D A CDA 4 D D D DDD 5 A C B ACB 6 A D A ADA 7 B B D BBD 8 B C A BCA 9 D A C DAC 10 A A B AAB 11 B D D BDD 12 A D C ADC 13 D C C DCC 14 C A B CAB 15 A D A ADA 16 A D C ADC 17 D C A DCA 18 A B B ABB 19 D A C DAC 20 D B C DBC
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP