

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to find the number of times a variable changes its sign in an R data frame column?
To find the number of times a variable changes its sign in an R data frame column, we can use sign function with diff and sum function.
For example, if we have a data frame called df that contains a column say C then, we can find the number of times C changes its sign by using the following command −
sum(diff(sign(df$C))!=0)
Example 1
Following snippet creates a sample data frame −
x<-rnorm(20) df1<-data.frame(x) df1
The following dataframe is created −
x 1 0.37963948 2 -0.50232345 3 -0.33320738 4 -1.01857538 5 -1.07179123 6 0.30352864 7 0.44820978 8 0.05300423 9 0.92226747 10 2.05008469 11 -0.49103117 12 -2.30916888 13 1.00573852 14 -0.70920076 15 -0.68800862 16 1.02557137 17 -0.28477301 18 -1.22071771 19 0.18130348 20 -0.13889136
To find the number of times x changes its sign, add the following code to the above snippet −
x<-rnorm(20) df1<-data.frame(x) sum(diff(sign(df1$x))!=0)
Output
If you execute all the above given snippets as a single program, it generates the following output −
[1] 9
Example 2
Following snippet creates a sample data frame −
y<-sample(-2:2,20,replace=TRUE) df2<-data.frame(y) df2
The following dataframe is created −
y 1 -1 2 0 3 -1 4 2 5 2 6 0 7 1 8 1 9 1 10 2 11 0 12 -2 13 -1 14 -2 15 -1 16 2 17 0 18 1 19 1 20 -2
To find the number of times y changes its sign, add the following code to the above snippet −
y<-sample(-2:2,20,replace=TRUE) df2<-data.frame(y) sum(diff(sign(df2$y))!=0)
Output
If you execute all the above given snippets as a single program, it generates the following output −
[1] 11
Example 3
Following snippet creates a sample data frame −
z<-sample(-5:5,20,replace=TRUE) df3<-data.frame(z) df3
The following dataframe is created −
z 1 5 2 0 3 3 4 2 5 4 6 -2 7 -1 8 1 9 -5 10 2 11 2 12 4 13 3 14 2 15 -4 16 -1 17 3 18 1 19 1 20 4
To find the number of times z changes its sign, add the following code to the above snippet −
z<-sample(-5:5,20,replace=TRUE) df3<-data.frame(z) sum(diff(sign(df3$z))!=0)
Output
If you execute all the above given snippets as a single program, it generates the following output −
[1] 8
- Related Questions & Answers
- How to change the sign of even number rows in an R data frame column?
- How to count the number of times a value occurs in a column of an R data frame?
- Find the value in an R data frame column that exist n times.
- How to find the number of zeros in each column of an R data frame?
- How to find the number of non-empty values in an R data frame column?
- How to find the index of the nearest smallest number in an R data frame column?
- How to find the unique values in a column of an R data frame?
- How to find the column number of a string column based on a string match in an R data frame?
- How to find the sum of column values of an R data frame?
- How to find the trimmed mean for a column of an R data frame?
- How to find the number of NA’s in each column of an R data frame?
- How to create a frequency column for categorical variable in an R data frame?
- How to find mode for an R data frame column?
- How to find the inverse of log10 for an R data frame column?
- How to find the number of values in a column of an R data frame that are not zero?