
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
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
Create Combinations of 0 and 1 with Fixed Number of 1s in R Data Frame
To create the combinations of 0 and 1 data frame, we can use expand.grid function along with the rep function. If we want to create combination of 0 and 1 with fixed number of 1’s in each row then rowSums functions can be used with the appropriate sum value. For example, to have rows containing less than three 1’s, the rowSums will be extracted from grid for the same.
Example1
First<−expand.grid(rep(list(0:1),3)) First
Output
Var1 Var2 Var3 1 0 0 0 2 1 0 0 3 0 1 0 4 1 1 0 5 0 0 1 6 1 0 1 7 0 1 1 8 1 1 1
Creating combinations having number of 1s in each row less than or equal to 2 −
Example
First<−First[rowSums(First)<3,] First
Output
Var1 Var2 Var3 1 0 0 0 2 1 0 0 3 0 1 0 4 1 1 0 5 0 0 1 6 1 0 1 7 0 1 1
Example2
Second<−expand.grid(rep(list(0:1),4)) Second
Output
Var1 Var2 Var3 Var4 1 0 0 0 0 2 1 0 0 0 3 0 1 0 0 4 1 1 0 0 5 0 0 1 0 6 1 0 1 0 7 0 1 1 0 8 1 1 1 0 9 0 0 0 1 10 1 0 0 1 11 0 1 0 1 12 1 1 0 1 13 0 0 1 1 14 1 0 1 1 15 0 1 1 1 16 1 1 1 1
Example
Second<−Second[rowSums(Second)<4,] Second
Output
Var1 Var2 Var3 Var4 1 0 0 0 0 2 1 0 0 0 3 0 1 0 0 4 1 1 0 0 5 0 0 1 0 6 1 0 1 0 7 0 1 1 0 8 1 1 1 0 9 0 0 0 1 10 1 0 0 1 11 0 1 0 1 12 1 1 0 1 13 0 0 1 1 14 1 0 1 1 15 0 1 1 1
Example3
Third<−expand.grid(rep(list(0:1),5)) Third
Output
Var1 Var2 Var3 Var4 Var5 1 0 0 0 0 0 2 1 0 0 0 0 3 0 1 0 0 0 4 1 1 0 0 0 5 0 0 1 0 0 6 1 0 1 0 0 7 0 1 1 0 0 8 1 1 1 0 0 9 0 0 0 1 0 10 1 0 0 1 0 11 0 1 0 1 0 12 1 1 0 1 0 13 0 0 1 1 0 14 1 0 1 1 0 15 0 1 1 1 0 16 1 1 1 1 0 17 0 0 0 0 1 18 1 0 0 0 1 19 0 1 0 0 1 20 1 1 0 0 1 21 0 0 1 0 1 22 1 0 1 0 1 23 0 1 1 0 1 24 1 1 1 0 1 25 0 0 0 1 1 26 1 0 0 1 1 27 0 1 0 1 1 28 1 1 0 1 1 29 0 0 1 1 1 30 1 0 1 1 1 31 0 1 1 1 1 32 1 1 1 1 1
Example
Third<−Third[rowSums(Third)<3,] Third
Output
1 0 0 0 0 0 2 1 0 0 0 0 3 0 1 0 0 0 4 1 1 0 0 0 5 0 0 1 0 0 6 1 0 1 0 0 7 0 1 1 0 0 9 0 0 0 1 0 10 1 0 0 1 0 11 0 1 0 1 0 13 0 0 1 1 0 17 0 0 0 0 1 18 1 0 0 0 1 19 0 1 0 0 1 21 0 0 1 0 1 25 0 0 0 1 1
Advertisements