I have data frame looking like this:
> head(temp)
      VisitIDCode start stop Value_EVS hr heart rate NU EE0A Value_EVS temp celsius CAL 113C Value_EVS current weight kg CAL
23642  2008253059   695  696                            <NA>                            36.4                            <NA>
24339  2008253059   695  696                             132                            <NA>                            <NA>
72450  2008953178   527  528                            <NA>                            38.6                            <NA>
72957  2008953178   527  528                             123                            <NA>                            <NA>
73976  2008965669   527  528                            <NA>                            36.2                            <NA>
74504  2008965669   527  528                             116                            <NA>                            <NA>
First and second row are both for the same patient(same VisitIDCode), in the first row I have the value of heart rate and in the second I have the value of temperature from time 2 to 3. I want to combine these rows so that the result is one row that looks like:
      VisitIDCode start stop Value_EVS hr heart rate NU EE0A Value_EVS temp celsius CAL 113C Value_EVS current weight kg CAL
23642  2008253059   695  696                             132                            36.4                            <NA>
In other words, I want my data frame to be unique by combination of VisitIDCode, start and stop. This is a large dataframe with more columns that need to be combined. What is the best way of doing it and if at all possible, avoiding for loop? Edit: I don't want to remove the NAs. If there are 2 rows each of which have one value and 2 NAs, I want to combine them to one row so it has two values and one NA. Like the example above.
 
    