[R] Add blank rows to a dataframe
David Winsemius
dwinsemius at comcast.net
Sat Jun 8 16:36:27 CEST 2013
On Jun 8, 2013, at 4:09 AM, Bert Jacobs wrote:
> Hi,
>
> I have a vector that looks like this:
> RowSel <-c(0,1,0,1,2,3,0,5,5)
>
> Now I want to select rows from a specific dataframe DF based on that vector
> like this:
> SubDF <- DF[RowSel,]
>
> So this works fine, but I was wondering how I could add blank rows add the
> locations in the vector where there is a zero:
> So the final dataframe should look like this:
>
> SubDF
> [1] blank row
> [2] row 1
> [3] blank row
> [4] row 1
> [5] row 2
> [6] row 3
> [7] blank row
> [8] row 5
> [9] row 5
>
> Do I have to use a loop for this or does there exist a straight forward
> function option.
NA's in the selection vector will retrun an NA row, so convert those zeros to NA's :
> str(df)
'data.frame': 9 obs. of 2 variables:
$ A: num 0 3 9 0 2 0 1 0 1
$ B: int 1 1 1 2 2 3 3 4 4
> RowSel <-c(0,1,0,1,2,3,0,5,5)
> df[RowSel,]
A B
1 0 1
1.1 0 1
5 3 1
9 9 1
6 2 2
6.1 2 2
> is.na(RowSel) <- RowSel==0
> df[RowSel,]
A B
NA NA NA
1 0 1
NA.1 NA NA
1.1 0 1
5 3 1
9 9 1
NA.2 NA NA
6 2 2
6.1 2 2
--
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list