選擇R資料框的列,如果列不存在則跳過。
有時資料框中會有大量的列,我們知道一些列的名稱,但已知的列中有些在資料框中並不存在。現在,如果我們想選擇我們已知的列並跳過不存在的列,則可以使用子集。
例如,如果我們有一個名為df的資料框,它包含20列,我們認為x、y、z存在於df中,但實際上z不存在。現在,可以使用以下命令選擇x、y、z列並跳過z:
df[,names(df) %in% c("x","y","z")]示例1
考慮以下資料框:
x1<-rnorm(20) x3<-rnorm(20) x4<-rnorm(20) df1<-data.frame(x1,x3,x4) df1
建立了以下資料框
x1 x3 x4 1 0.39242697 1.94369518 -0.36692667 2 -2.87236253 0.63008900 -1.06281211 3 -0.65349377 -0.88442286 -0.01778122 4 -1.17954360 -1.12290165 1.22420677 5 0.12765932 -2.47906508 -0.36339964 6 1.00167594 0.98720588 0.26306844 7 -0.45533660 -0.61367430 0.59131906 8 0.10805656 0.70099416 -1.25835396 9 0.41539962 -0.34988934 -1.16621416 10 1.69208586 -0.08883033 0.25785287 11 0.14335867 -1.67958251 -0.45326409 12 -0.69518421 -1.50169655 -0.32216638 13 0.29088005 -1.30874972 -0.28515476 14 -0.01994773 0.19276681 -0.36537207 15 -0.61455895 -0.59203646 0.09349088 16 0.34339425 0.86884825 1.04326014 17 1.71791754 0.88276790 0.66905104 18 2.06755011 -0.64288995 -0.09404691 19 -1.54713973 0.73062146 -2.27962611 20 1.33430182 -1.03840560 0.94347980
要從上面建立的資料框df1中選擇列x1、x2、x3和x4,請將以下程式碼新增到上面的程式碼段中:
x1<-rnorm(20)
x3<-rnorm(20)
x4<-rnorm(20)
df1<-data.frame(x1,x3,x4)
df1[,names(df1) %in% c("x1","x2","x3","x4")]輸出
如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:
x1 x3 x4 1 0.39242697 1.94369518 -0.36692667 2 -2.87236253 0.63008900 -1.06281211 3 -0.65349377 -0.88442286 -0.01778122 4 -1.17954360 -1.12290165 1.22420677 5 0.12765932 -2.47906508 -0.36339964 6 1.00167594 0.98720588 0.26306844 7 -0.45533660 -0.61367430 0.59131906 8 0.10805656 0.70099416 -1.25835396 9 0.41539962 -0.34988934 -1.16621416 10 1.69208586 -0.08883033 0.25785287 11 0.14335867 -1.67958251 -0.45326409 12 -0.69518421 -1.50169655 -0.32216638 13 0.29088005 -1.30874972 -0.28515476 14 -0.01994773 0.19276681 -0.36537207 15 -0.61455895 -0.59203646 0.09349088 16 0.34339425 0.86884825 1.04326014 17 1.71791754 0.88276790 0.66905104 18 2.06755011 -0.64288995 -0.09404691 19 -1.54713973 0.73062146 -2.27962611 20 1.33430182 -1.03840560 0.94347980
示例2
考慮以下給出的資料框:
y1<-rpois(20,5) y2<-rpois(20,2) y4<-rpois(20,5) y6<-rpois(20,2) df2<-data.frame(y1,y2,y4,y6) df2
建立了以下資料框
y1 y2 y4 y6 1 4 3 5 2 2 4 2 4 3 3 4 0 9 3 4 3 5 6 1 5 4 2 3 3 6 7 1 8 0 7 7 3 4 2 8 5 2 8 1 9 3 4 8 1 10 4 2 10 1 11 3 2 4 1 12 5 1 5 2 13 3 2 8 2 14 4 2 9 0 15 5 0 2 3 16 4 0 6 1 17 5 2 7 1 18 6 0 6 2 19 5 2 5 2 20 6 1 4 1
要從上面建立的資料框df2中選擇列y1、y2、y3、y4、y5和y6,請將以下程式碼新增到上面的程式碼段中:
y1<-rpois(20,5)
y2<-rpois(20,2)
y4<-rpois(20,5)
y6<-rpois(20,2)
df2<-data.frame(y1,y2,y4,y6)
df2[,names(df2) %in% c("y1","y2","y3","y4","y5","y6")]
輸出
如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:
y1 y2 y4 y6 1 4 3 5 2 2 4 2 4 3 3 4 0 9 3 4 3 5 6 1 5 4 2 3 3 6 7 1 8 0 7 7 3 4 2 8 5 2 8 1 9 3 4 8 1 10 4 2 10 1 11 3 2 4 1 12 5 1 5 2 13 3 2 8 2 14 4 2 9 0 15 5 0 2 3 16 4 0 6 1 17 5 2 7 1 18 6 0 6 2 19 5 2 5 2 20 6 1 4 1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP