- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- 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 create an S4 object in R?
To create an S4 object, we can use setClass function where we will pass the object name, column names, and the type of the data that will be stored in the columns. For example, if we want to create an S4 with name data and two numerical columns called by x and y then we can use setClass("data",representation(x1="numeric",x2="numeric")).
Example1
> setClass("data1",representation(x1="numeric",x2="numeric")) > data1<-new("data1",x1=rnorm(20),x2=rexp(20,1.12)) > data1
Output
An object of class "data1" Slot "x1": [1] -0.586187627 0.853689097 -0.602612795 -2.194235741 -1.318522292 [6] -0.984882420 0.273584140 0.364691611 1.025472248 1.198547297 [11] -0.709282551 -0.001441127 -0.201348012 1.296811172 1.520093861 [16] 2.071031215 0.472877022 0.616211695 0.642165615 -0.122773000 Slot "x2": [1] 0.38902289 0.20631450 0.02105516 0.24891420 2.37347874 0.43704064 [7] 0.79887672 1.95711822 0.69214407 1.17875759 0.10490338 0.69417206 [13] 0.60324447 0.03573967 0.27204874 1.63015638 1.94575940 2.97829841 [19] 0.22643380 2.06821215
Example2
> setClass("data2",representation(x1="integer",x2="numeric")) > data2<-new("data2",x1=rpois(200,5),x2=rexp(50,1.12)) > data2
Output
An object of class "data2" Slot "x1": [1] 3 7 4 8 5 7 5 11 6 4 5 3 2 7 5 5 4 3 7 8 12 6 10 6 3 [26] 7 7 6 4 2 6 6 8 7 8 8 5 2 3 4 7 2 4 1 3 4 7 4 10 5 [51] 7 2 4 3 8 6 4 4 6 7 8 4 5 5 3 4 2 7 7 6 1 6 3 5 2 [76] 5 6 7 3 7 5 7 5 8 2 4 4 2 3 6 1 6 5 5 3 4 3 8 5 7 [101] 4 3 8 2 6 3 3 5 1 2 4 6 4 6 2 4 4 4 4 9 4 4 7 2 9 [126] 4 3 4 3 4 7 5 5 2 2 6 4 6 5 5 6 8 4 7 6 3 7 7 7 8 [151] 8 6 4 7 4 4 3 10 4 6 2 5 5 4 4 6 7 5 7 0 6 8 5 8 9 [176] 3 5 5 4 8 4 4 6 5 7 9 6 2 2 2 5 9 3 5 3 3 4 6 2 6 Slot "x2": [1] 0.03141964 0.49307236 0.31423727 0.43521757 0.52619093 0.70795201 [7] 0.35462825 0.59378101 0.10527933 0.70027538 0.44882733 0.43956142 [13] 0.09664605 0.50706106 1.65260142 0.36428909 0.61297587 1.01703946 [19] 0.89316946 0.59825470 1.32223944 1.77853473 0.19214180 4.76283291 [25] 0.51096582 1.07728540 0.94746461 1.03008930 0.80508219 2.91018171 [31] 0.13807893 0.98123535 0.71989867 1.32550897 0.86492233 0.06968105 [37] 0.75559512 0.27958713 0.18840316 1.39449247 3.78111847 0.26038046 [43] 0.02072275 0.81411699 0.89175522 0.13439256 1.16051005 1.00565524 [49] 0.44863428 0.59886756
Example3
> setClass("data3",representation(x1="character",x2="numeric")) > data3<-new("data3",x1=sample(LETTERS[1:4],50,replace=TRUE),x2=rexp(50,1.12)) > data3
Output
An object of class "data3" Slot "x1": [1] "C" "D" "A" "C" "D" "D" "C" "D" "C" "A" "A" "B" "C" "D" "C" "D" "C" "A" "D" [20] "C" "C" "A" "B" "B" "C" "D" "D" "B" "B" "C" "A" "C" "D" "A" "C" "D" "A" "C" [39] "C" "C" "B" "C" "B" "B" "D" "C" "A" "C" "A" "A" Slot "x2": [1] 0.15262639 0.18257750 0.66531800 0.90077904 0.31199878 0.15326597 [7] 0.14915567 0.09891334 1.91290294 1.64658850 0.17738544 0.07428495 [13] 0.51221999 1.19112341 0.16764472 1.29586175 0.67945778 0.33704154 [19] 0.21145555 0.28791368 0.95651553 0.48383674 0.76274501 0.71038690 [25] 1.34688895 1.77748828 0.63969314 0.29701294 0.04734766 1.02116237 [31] 0.27368908 0.04268661 0.77449047 3.70772112 0.40526753 0.06333750 [37] 0.26435011 1.03701168 0.08280528 0.86331936 0.15271265 1.45303032 [43] 0.04458336 0.54749522 0.44025731 0.20837975 0.21421977 0.16732185 [49] 1.46172264 0.70931165
Example4
> setClass("data4",representation(x1="logical",x2="numeric")) > data4<-new("data4",x1=sample(as.logical(c(0,1)),50,replace=TRUE),x2=rnorm(50,1,0.50)) > data4
Output
An object of class "data4" Slot "x1": [1] FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE [13] TRUE TRUE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE [25] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE [37] TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE [49] TRUE FALSE Slot "x2": [1] 1.4535492 0.8230134 0.9926188 0.9236218 0.9568131 1.2355998 [7] -0.2649343 1.4839302 0.6435250 0.8384010 1.4399601 1.3696312 [13] 0.2847440 0.6539318 1.2568808 1.4457016 1.1884043 1.3024577 [19] 1.5923689 1.2796569 0.9942924 0.6104080 0.4510600 0.9901056 [25] 0.9496257 1.1278555 0.5048898 1.0492706 1.5142966 0.8459955 [31] 1.4398791 1.0121801 0.9473674 0.2266796 1.3360711 0.2354370 [37] 0.4838408 1.4131759 0.1566150 1.4218652 1.1542315 2.0074517 [43] 1.0019310 0.3909861 0.6707586 0.9373494 1.4065083 0.1781948 [49] 1.4708116 1.1577926
- Related Articles
- How to extract variables of an S4 object in R?
- How to create an exponential curve in R?
- How to create an arrow in base R?
- How to create an empty matrix in R?
- How to create an integer64 vector in R?
- How to create an ordinal variable in R?
- How to create boxplot for a list object in base R?
- How to create an Object representation of an Image object using FabricJS?
- How to create an object from class in Java?
- How to create an array of Object in Java
- How to create an object with prototype in JavaScript?
- How to create an empty data frame in R?
- How to create an exponential distribution plot in R?
- How to create an alternately increasing sequence in R?
- How to create a copy of an object in PHP?

Advertisements