要更新 R 数据框中的单个值,我们可以使用带有单个方括号的行和列索引。
例如,如果我们有一个名为 df 的数据框,它包含两列和十行,并且如果我们想将第二列中的第五个值更改为 10,那么我们可以使用下面给出的命令 -
df[5,2]<-10
查看以下示例以了解如何完成。
以下代码段创建了一个示例数据框 -
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
以下代码段创建了一个示例数据框 -
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