Meet the new pdxrlang organizers!
			
			
				- Sophie Yang
- Marley Buchman
- Ted Laderas
- John Smith
S3 Objects
			Scott Chamberlain ( @sckottie)
				
rOpenSci
			
		
		
		
			S3 objects
			
			R's first and simplest OO (Object Oriented) system
			
			
			S3 is informal and ad hoc, but it has a certain elegance in its minimalism: you can’t take away any part of it and still have a useful OO system
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
			S3 - when to use S3 generics/methods
			
			
				- inputs can have many different classes
- you want to do different things with different classes
- you want something that's light weight
- you want to build on top of a base R generic (e.g, - plot)
S3 - beware!
			
			
				- consider S3 failure behavior - see - .default
- parameters should be consistent across S3 methods
- pay attention to whether methods on generics are exported in your pkg
- as a user: don't call S3 methods directly, call the generic
- no validation of checking of contents
- extended generic methods of base functions from diff. pkgs can conflict!
- S3 classes can be easily dropped/lost (next slide)