替换数据帧单元格R中的特定值

时间:2016-08-09 18:08:01

标签: r excel dataframe merge r-xlsx

我有一个大的xlsx文件;我对2列感兴趣:pat_idparam_1

原始文件看起来像这样(我用点替换值只是为了更快地输入):

     ......pat_id...........param_1..........
row1 ........123...............0.............
...
...
rowi ........456...............1.............     
...
rowk ........789...............5.............
...
rown ........................................

我的文件较小:

pat_id | param_1
123        55
456        33
789        22

我想将原始文件中param1的值替换为较小文件中的值。像这样:

     ......pat_id...........param_1..........
row1 ........123...............55.............
...
...
rowi ........456...............33.............     
...
rowk ........789...............22.............
...
rown ........................................

到目前为止: 1)我将两个文件读入数据帧。 2)然后我尝试找到pat_id == 123的行,并访问列' param1'并指定一个新值(55)。

然而,我遇到了很多错误。

我的上一个版本:

data[data == 123, 'param1'] <- small_data[1, 'param1']

给出错误:

 Error in `[<-.data.frame`(`*tmp*`, data == curr_pat_id, column, value = "55") : 
  non-existent rows not allowed 

出于某种原因,当data[data == 123, 'param1']返回NA ...

我尝试探索加入/合并替代方案,但没有找到合适的解决方案。

基本上我只想说&#34;在数据pat_id == 123中,将其param_1值替换为55&#34;

0 个答案:

没有答案