# [R] Replace NA's with value in the next row

Bert Gunter gunter.berton at gene.com
Thu Nov 14 15:26:53 CET 2013

```On Thu, Nov 14, 2013 at 1:13 AM, Frans Marcelissen
<frans.marcelissen at digipsy.nl> wrote:
> R purists forbid the use of the for loop,

That is utter nonsense. Please do not make such statements when you
have no idea what you're talking about. It just promulgates confusion.

-- Bert

> simple solution:
>
> for (i in 1:(length(V6)-1)) if(is.na(V6[i])) V6[i]<-V6[i+1]
>
>
>
>
> 2013/11/14 Jim Lemon <jim at bitwrit.com.au>
>
>> On 11/14/2013 04:02 PM, dila radi wrote:
>>
>>> Hi all,
>>>
>>> I have a data set which treat missing value as NA and now I need to
>>> replace
>>> all these NA's by using number in the same row but different column.
>>>
>>> Here is the part of my data:
>>>   V1 V2 V3 V4 V5 V6 V7  0 0 0 1.2 0 0 0.259  0 0 12.8 0 23.7 0 8.495  6 0
>>> 81.7 0.2 0 20 19.937  0 1.5 60.9 0 0 15.5 13.900  1 13 56.8 17.5 32.8 6.4
>>> 27.654  4 3 66.4 2 0.3 NA 17.145
>>>
>>>
>>> I want to replace (V6, 6) with (V7, 6). I have about 1000 NA's in V6 which
>>> I want to replace  with the same row in V7. The other values in V6, I want
>>> to keep remain the same.
>>>
>>> How to achieve this? Assuming my data is called "Targetstation",  I have
>>> tried this:
>>>
>>> Targetstation<- within(Targetstation, v6<- replace(v6, is.na(v6), v7[
>>> is.na
>>> (v6)]))
>>>
>>> But R gives me this:
>>>
>>> Warning messages:
>>>
>>> 1: In is.na(v6) : is.na() applied to non-(list or vector) of type 'NULL'
>>>
>>> 2: In is.na(v6) : is.na() applied to non-(list or vector) of type 'NULL'
>>>
>>>
>>>  Hi Dila,
>> You could do this like this:
>>
>> V6NA<-is.na(Targetstation\$V6)
>> Targetstation\$V6[V6NA]<-Targetstation\$V7[V6NA]
>>
>> but if you want to use the above, I think you will have to replace the
>> is.na(V6) with is.na(Targetstation\$V6) or use the method above.
>>
>> Jim
>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
>
>
> --
>
>
> -------------------
> dr F.H.G. (Frans) Marcelissen
> DigiPsy (www.DigiPsy.nl <http://www.digipsy.nl/>)
> Pomperschans 26
> 5595 AV Leende
> tel: 040 2065030/06 2325 06 53
> email: frans.marcelissen at digipsy.nl
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> and provide commented, minimal, self-contained, reproducible code.

--

Bert Gunter
Genentech Nonclinical Biostatistics

(650) 467-7374

```