如何用来自数据框另一部分的值替换R中数据帧的值?

时间:2013-03-04 21:03:36

标签: r dataframe substitution

我已将数据集导入R&发现了一个异常值。我想对最初导入的数据进行特定替换。具体来说,我的数据如下所示:

Adhesive TestCond Lab Speci.no Sample.id Wood.fail Shear.str
1        W      BDF   A   ABW-01         1       100 707.99296
2        W      BDF   A   ABW-02         2       100 557.61752
3        W      BDF   A   ABW-03         3       100 759.13431
4        W      BDF   A   ABW-04         4       100  84.70696
5        W      BDF   A   ABW-05         5       100 519.56020
6        W      BDF   A   ABW-06         6       100 502.13246

它有大约3,000行。使用以下命令导入此数据:

FPInnovation <- read.csv()

有问题的Wood.fail值是以下值

Adhesive TestCond Lab Speci.no Sample.id Wood.fail Shear.str
6        W      BDF   D   DBW-07         7       0 23.68061

Wood.fail列中的值0已被发现为错误。其他值0可能不是。因此,我只想在上面的行中进行替换。如何将特定的Wood.fail值0(如上所述)替换为下一行中保存的值(上面用0替换为90以下):

Adhesive TestCond Lab Speci.no Sample.id Wood.fail Shear.str
31        W      BDF   D   DBW-31         31     90 237.3734

2 个答案:

答案 0 :(得分:3)

这只是索引。它的工作原理如下:

FPInnovation$Wood.fail[LOGICAL TEST] <- updatedvalue

特别针对Speci.no ==“DBW-07”

FPInnovation$Wood.fail[FPInnovation$Speci.no=="DWB-07"] <- updatedvalue

这将选择并更新满足逻辑测试的行。

答案 1 :(得分:0)

row = .... #specify the row number

FPInnovation$Wood.fail[row] <- 90