### Re: [R] Mode Vs Class

Congratulation Bill for this very clear and useful explanation. Heinz At 14:58 08.04.2008, [EMAIL PROTECTED] wrote: 'mode' is a mutually exclusive classification of objects according to their basic structure. The 'atomic' modes are numeric, complex, charcter and logical. Recursive objects have modes such as 'list' or 'function' or a few others. An object has one and only one mode. 'class' is a property assigned to an object that determines how generic functions operate with it. It is not a mutually exclusive classification. If an object has no specific class assigned to it, such as a simple numeric vector, it's class is usually the same as its mode, by convention. Changing the mode of an object is often called 'coercion'. The mode of an object can change without necessarily changing the class. e.g. x - 1:16 mode(x) [1] numeric dim(x) - c(4,4) mode(x) [1] numeric class(x) [1] matrix is.numeric(x) [1] TRUE mode(x) - character mode(x) [1] character class(x) [1] matrix However: x - factor(x) class(x) [1] factor mode(x) [1] numeric At this stage, even though x has mode numeric again, its new class, 'factor', inhibits it being used in arithmetic operations. In practice, mode is not used very much, other than to define a class implicitly when no explicit class has been assigned. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shubha Vishwanath Karanth Sent: Tuesday, 8 April 2008 10:20 PM To: [EMAIL PROTECTED] Subject: [R] Mode Vs Class Hi R, Just came across the 'mode' of an object. What is the basic difference between ?class and ?mode ... For example: d - data.frame(a = c(1,2), b = c(5,6)) class(d) [1] data.frame mode(d) [1] list But, c - c(2,3,5,6,7) class(c) [1] numeric mode(c) [1] numeric Could anyone help me out... Thanks, shubha __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

### Re: [R] Mode Vs Class

'mode' is a mutually exclusive classification of objects according to their basic structure. The 'atomic' modes are numeric, complex, charcter and logical. Recursive objects have modes such as 'list' or 'function' or a few others. An object has one and only one mode. 'class' is a property assigned to an object that determines how generic functions operate with it. It is not a mutually exclusive classification. If an object has no specific class assigned to it, such as a simple numeric vector, it's class is usually the same as its mode, by convention. Changing the mode of an object is often called 'coercion'. The mode of an object can change without necessarily changing the class. e.g. x - 1:16 mode(x) [1] numeric dim(x) - c(4,4) mode(x) [1] numeric class(x) [1] matrix is.numeric(x) [1] TRUE mode(x) - character mode(x) [1] character class(x) [1] matrix However: x - factor(x) class(x) [1] factor mode(x) [1] numeric At this stage, even though x has mode numeric again, its new class, 'factor', inhibits it being used in arithmetic operations. In practice, mode is not used very much, other than to define a class implicitly when no explicit class has been assigned. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shubha Vishwanath Karanth Sent: Tuesday, 8 April 2008 10:20 PM To: [EMAIL PROTECTED] Subject: [R] Mode Vs Class Hi R, Just came across the 'mode' of an object. What is the basic difference between ?class and ?mode ... For example: d - data.frame(a = c(1,2), b = c(5,6)) class(d) [1] data.frame mode(d) [1] list But, c - c(2,3,5,6,7) class(c) [1] numeric mode(c) [1] numeric Could anyone help me out... Thanks, shubha __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.