我有一个很大的 xlsx 文件;我对 2 列感兴趣:pat_id
和param_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
...
我试图探索加入/合并替代方案,但没有找到合适的解决方案。
基本上我只想说“在数据 pat_id == 123 中,将其 param_1 值替换为 55”。