如何更新 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

以上是 如何更新 R 数据框中的单个值? 的全部内容, 来源链接: utcz.com/z/343713.html

回到顶部