如何在R資料框中更新單個值?


要更新R資料框中的單個值,我們可以使用單方括號和行、列索引。

例如,如果我們有一個名為df的資料框,它包含兩列和十行,並且我們想將第二列中的第五個值更改為10,那麼我們可以使用以下命令:

df[5,2]<-10

檢視以下示例以瞭解如何操作。

示例1

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

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
df1

建立了以下資料框:

   x1 x2 x3
1  1  0  0
2  3  1  1
3  2  1  1
4  1  1  0
5  1  3  1
6  3  0  3
7  1  1  1
8  0  1  0
9  0  0  0
10 0  2  0
11 1  1  0
12 2  0  0
13 2  1  2
14 2  0  2
15 0  0  2
16 1  1  2
17 3  1  0
18 0  0  3
19 0  1  0
20 2  1  1

要將第3列中的第10個值更改為3,請將以下程式碼新增到上面的程式碼片段中:

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
df1[10,3]<-3
df1

輸出

如果將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:

   x1 x2 x3
1  1  0  0
2  3  1  1
3  2  1  1
4  1  1  0
5  1  3  1
6  3  0  3
7  1  1  1
8  0  1  0
9  0  0  0
10 0  2  3
11 1  1  0
12 2  0  0
13 2  1  2
14 2  0  2
15 0  0  2
16 1  1  2
17 3  1  0
18 0  0  3
19 0  1  0
20 2  1  1

示例2

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

y1<-sample(1:9,20,replace=TRUE)
y2<-sample(1:9,20,replace=TRUE)
y3<-sample(1:9,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2

建立了以下資料框:

   y1 y2 y3
1  9  1  6
2  5  8  8
3  7  3  7
4  8  1  6
5  9  6  7
6  5  1  1
7  5  8  2
8  7  2  5
9  7  4  6
10 5  4  4 
11 4  8  7
12 1  1  8
13 5  2  9
14 1  8  3
15 2  6  5
16 5  1  6
17 2  5  3
18 8  5  4
19 9  2  2
20 4  5  9

要將第1列中的第12個值更改為5,請將以下程式碼新增到上面的程式碼片段中:

y1<-sample(1:9,20,replace=TRUE)
y2<-sample(1:9,20,replace=TRUE)
y3<-sample(1:9,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2[12,1]<-5
df2

輸出

如果將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:

   y1 y2 y3
1  9  1  6
2  5  8  8
3  7  3  7
4  8  1  6
5  9  6  7
6  5  1  1
7  5  8  2
8  7  2  5
9  7  4  6
10 5  4  4
11 4  8  7
12 5  1  8
13 5  2  9
14 1  8  3
15 2  6  5
16 5  1  6
17 2  5  3
18 8  5  4
19 9  2  2
20 4  5  9

更新於:2021年11月22日

3K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.