如何在 R 資料框中刪除列名的第一個字元?


要刪除 R 資料框中列名的第一個字元,我們可以使用 stringr 包的 str_sub 函式。

例如,如果我們有一個名為 df 的資料框,其中包含兩列,例如 XID 和 XDV,那麼我們可以使用下面提到的命令從這兩個列名中刪除 X:

names(df)=str_sub(names(df),2)

示例 1

以下程式碼片段建立了一個示例資料框:

XColor<-sample(c("Green","Red","Blue"),20,replace=TRUE)
YScore<-sample(1:100,20)
df1<-data.frame(XColor,YScore)
df1

建立了以下資料框

  XColor YScore
1  Green   46
2  Red     80
3  Red     22
4  Green   21
5  Blue    54
6  Red     81
7  Blue    41
8  Red      4
9  Blue    63
10 Green   67
11 Green   71
12 Red     65
13 Red     79
14 Blue    58
15 Blue    76
16 Green   10
17 Red     60 
18 Red     16
19 Green   27
20 Red     74

要載入 stringr 包並在上面建立的資料框 df1 中刪除列名的第一個字元,請將以下程式碼新增到上述程式碼片段中:

XColor<-sample(c("Green","Red","Blue"),20,replace=TRUE)
YScore<-sample(1:100,20)
df1<-data.frame(XColor,YScore)
library(stringr)
names(df1)=str_sub(names(df1),2)
df1

輸出

如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出:

   Color Score
1  Green   46
2  Red     80
3  Red     22
4  Green   21
5  Blue    54
6  Red     81
7  Blue    41
8  Red      4
9  Blue    63
10 Green   67
11 Green   71
12 Red     65
13 Red     79
14 Blue    58
15 Blue    76
16 Green   10
17 Red     60
18 Red     16
19 Green   27
20 Red     74

示例 2

以下程式碼片段建立了一個示例資料框:

SStudents_ID<-c(200001:200020)
LLevel<-sample(c("First","Second","Third"),20,replace=TRUE)
df2<-data.frame(SStudents,LLevel)
df2

建立了以下資料框

SStudents LLevel
1  200001 First
2  200002 Third
3  200003 Third
4  200004 Second
5  200005 Second
6  200006 Second
7  200007 Second
8  200008 First
9  200009 Second
10 200010 Second
11 200011 First
12 200012 Third
13 200013 Second
14 200014 Second
15 200015 Second
16 200016 First
17 200017 First
18 200018 Third
19 200019 Third
20 200020 Second

要刪除上面建立的資料框 df2 中列名的第一個字元,請將以下程式碼新增到上述程式碼片段中:

SStudents_ID<-c(200001:200020)
LLevel<-sample(c("First","Second","Third"),20,replace=TRUE)
df2<-data.frame(SStudents,LLevel)
names(df2)=str_sub(names(df2),2)
df2

輸出

如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出:

  Students Level
1  200001 First
2  200002 Third
3  200003 Third
4  200004 Second
5  200005 Second
6  200006 Second
7  200007 Second
8  200008 First
9  200009 Second
10 200010 Second
11 200011 First
12 200012 Third
13 200013 Second
14 200014 Second
15 200015 Second
16 200016 First
17 200017 First
18 200018 Third
19 200019 Third
20 200020 Second

更新於: 2021-11-03

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.