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