当NA == TRUE加上R

时间:2016-04-27 21:12:45

标签: r copy row

不确定标题是否足够清晰。我有以下数据框:( ST.final是df的名称)

n;date;ws;wd
1;2011-11-01 00:00:00;7,15;113,7
2;2011-11-01 00:10:00;7,25;115,7
3;2011-11-01 00:20:00;NA;NA
4;2011-11-01 00:30:00;NA;NA
5;2011-11-01 00:40:00;7,2;100,7
6;2011-11-01 00:50:00;6,95;104,7

我想创建一个包含NA的行以及上限和下限行的新行。结果应该是这样的:

n;date;ws;wd
2;2011-11-01 00:10:00;7,25;115,7
3;2011-11-01 00:20:00;NA;NA
4;2011-11-01 00:30:00;NA;NA
5;2011-11-01 00:40:00;7,2;100,7

也许我错过了一些东西,但我不知道如何执行这项任务。到目前为止,我正在尝试使用此

interp.df <- ST.final[(is.na(ST.final$ws)),]

正如预期的那样,它只复制包含NA的每一行。我在谷歌上搜索了一个解决方案但却找不到类似的东西。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你可以尝试

idx <- which(!complete.cases(ST.final))
idx <- sort(unique(c(idx-1, idx, idx+1)))
ST.final[idx, ]