In this article, we will discuss how to select odd and even rows from a dataframe in R programming language.
Getting Odd Rows from the Data Frame
The number of rows in a data frame in R can be fetched by the nrow() method. It returns the number of rows in the data frame. The seq_len() method is then applied to generate the integers beginning with 1 to the number of rows. The modulo method with the integer 2 in R can be used to fetch the odd or even rows based on their indexes on the obtained vector. The corresponding row indices of the data frame are operated with a modulo method. The following syntax is used to fetch the odd rows of the data frame.
Syntax:
seq_len(rows)%%2
Data frame indexing method can then be used to obtain rows where the odd row index is equivalent to 1.
Syntax:
data_frame[odd_row == 1, ]
Example: Select odd rows from dataframe
R
data_frame <- data.frame (col1 = 1:10,
col2 = letters [1:10],
col3 = rep (5:9,2))
print ( "Original Dataframe" )
print (data_frame)
rows <- nrow (data_frame)
odd_rows <- seq_len (rows) %% 2
data_mod <- data_frame[odd_rows == 1, ]
print ( "odd rows of dataframe" )
print (data_mod)
|
Output:
[1] "Original Dataframe"
col1 col2 col3
1 1 a 5
2 2 b 6
3 3 c 7
4 4 d 8
5 5 e 9
6 6 f 5
7 7 g 6
8 8 h 7
9 9 i 8
10 10 j 9
[1] "odd rows of dataframe"
col1 col2 col3
1 1 a 5
3 3 c 7
5 5 e 9
7 7 g 6
9 9 i 8
Getting Even Rows from the Data Frame
The number of rows in a data frame in R can be fetched by the nrow() method. It returns the number of rows in the data frame. The seq_len() method is then applied to generate the integers beginning with 1 to the number of rows. The modulo method with the integer 2 in R can be used to fetch the odd or even rows based on their indexes on the obtained vector. The corresponding row indices of the data frame are operated with a modulo method. The following syntax is used to fetch the odd rows of the data frame.
Syntax:
seq_len(rows)%%2
Data frame indexing method can then be used to obtain rows where the even row index is equivalent to 0.
Syntax:
data_frame[odd_row == 0, ]
Example: Select even rows from dataframe
R
data_frame <- data.frame (col1 = 1:10,
col2 = letters [1:10],
col3 = rep (5:9,2))
print ( "Original Dataframe" )
print (data_frame)
rows <- nrow (data_frame)
even_rows <- seq_len (rows) %% 2
data_mod <- data_frame[even_rows == 0, ]
print ( "even rows of dataframe" )
print (data_mod)
|
Output:
[1] "Original Dataframe"
col1 col2 col3
1 1 a 5
2 2 b 6
3 3 c 7
4 4 d 8
5 5 e 9
6 6 f 5
7 7 g 6
8 8 h 7
9 9 i 8
10 10 j 9
[1] "even rows of dataframe"
> print(data_mod)
col1 col2 col3
2 2 b 6
4 4 d 8
6 6 f 5
8 8 h 7
10 10 j 9
Getting Odd Columns from the Data Frame
The number of columns in a data frame in R can be fetched by the ncol() method. It returns the number of columns in the data frame. The modulo method can then be used with the integer 2 in R can be used to fetch the odd or even columns based on their indexes on the obtained vector. The corresponding column indices of the data frame are operated with a modulo method. The following syntax is used to fetch the odd rows of the data frame.
Syntax:
seq_len(cols)%%2
Data frame indexing method can then be used to obtain rows where the odd column index is equivalent to 1.
Syntax:
Data_frame[, odd_cols==1 ]
Example: select odd columns from dataframe
R
data_frame <- data.frame (col1 = 1:10,
col2 = letters [1:10],
col3 = rep (5:9,2))
print ( "Original Dataframe" )
print (data_frame)
cols <- ncol (data_frame)
odd_cols <- seq_len (cols) %% 2
data_mod <- data_frame[, odd_cols == 1]
print ( "odd columns of dataframe" )
print (data_mod)
|
Output:
[1] "Original Dataframe"
col1 col2 col3
1 1 a 5
2 2 b 6
3 3 c 7
4 4 d 8
5 5 e 9
6 6 f 5
7 7 g 6
8 8 h 7
9 9 i 8
10 10 j 9
[1] "odd rows of dataframe"
col1 col3
1 1 5
2 2 6
3 3 7
4 4 8
5 5 9
6 6 5
7 7 6
8 8 7
9 9 8
10 10 9
Getting Even Columns from the Data Frame
The number of columns in a data frame in R can be fetched by the ncol() method. It returns the number of columns in the data frame. The modulo method can then be used with the integer 2 in R can be used to fetch the odd or even columns based on their indexes on the obtained vector. The corresponding column indices of the data frame are operated with a modulo method. The following syntax is used to fetch the odd rows of the data frame.
Syntax:
seq_len(cols)%%2
Data frame indexing method can then be used to obtain rows where the odd column index is equivalent to 0.
Syntax:
Data_frame[, odd_cols==0 ]
Example: select even columns from dataframe
R
data_frame <- data.frame (col1 = 1:10,
col2 = letters [1:10],
col3 = rep (5:9,2))
print ( "Original Dataframe" )
print (data_frame)
cols <- ncol (data_frame)
even_cols <- seq_len (cols) %% 2
data_mod <- data_frame[, even_cols == 0]
print ( "even columns of dataframe" )
print (data_mod)
|
Output:
[1] "Original Dataframe"
col1 col2 col3
1 1 a 5
2 2 b 6
3 3 c 7
4 4 d 8
5 5 e 9
6 6 f 5
7 7 g 6
8 8 h 7
9 9 i 8
10 10 j 9
[1] "even columns of dataframe"
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!