Home > database >  What happens when you combine multiple datatypes in an atomic vector in R programming language?
What happens when you combine multiple datatypes in an atomic vector in R programming language?

Time:07-02

I tried running a code to identify the type of the vector produced while combining different data types. Here is the code and what I got as the output. Can somebody explain why this output is seen?

v<-c(1L,2,TRUE) typeof(v)

Output: [1] "double"

CodePudding user response:

An atomic vector can only hold values of a single data type. If you put several different types in it, these get coerced to a common type. In your case double.

IF you want to keep the data type of the original values, you need to use a list. Lists do not have this restriction.

CodePudding user response:

Seems like this is the rule:

When you attempt to combine different types they will be coerced in a fixed order: character → double → integer → logical. For example, combining a character and an integer yields a character.

  • Related