如何更新 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 x31 1 0 02 3 1 13 2 1 14 1 1 05 1 3 16 3 0 37 1 1 18 0 1 09 0 0 010 0 2 011 1 1 012 2 0 013 2 1 214 2 0 215 0 0 216 1 1 217 3 1 018 0 0 319 0 1 020 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]<-3df1
输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x1 x2 x31 1 0 02 3 1 13 2 1 14 1 1 05 1 3 16 3 0 37 1 1 18 0 1 09 0 0 010 0 2 311 1 1 012 2 0 013 2 1 214 2 0 215 0 0 216 1 1 217 3 1 018 0 0 319 0 1 020 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 y31 9 1 62 5 8 83 7 3 74 8 1 65 9 6 76 5 1 17 5 8 28 7 2 59 7 4 610 5 4 4 11 4 8 712 1 1 813 5 2 914 1 8 315 2 6 516 5 1 617 2 5 318 8 5 419 9 2 220 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 y31 9 1 62 5 8 83 7 3 74 8 1 65 9 6 76 5 1 17 5 8 28 7 2 59 7 4 610 5 4 411 4 8 712 5 1 813 5 2 914 1 8 315 2 6 516 5 1 617 2 5 318 8 5 419 9 2 220 4 5 9