如何在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.