Bird
Raised Fist0
R Programmingprogramming~20 mins

Numeric type in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Numeric Type Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of numeric division and type check
What is the output of this R code snippet?
R Programming
x <- 5 / 2
typeof(x)
A"double"
B"integer"
C"numeric"
D"complex"
Attempts:
2 left
💡 Hint
In R, division usually results in a floating-point number.
❓ Predict Output
intermediate
2:00remaining
Output of integer coercion with as.integer()
What is the output of this R code?
R Programming
y <- as.integer(3.7)
y
A3
B3.7
C4
DNA
Attempts:
2 left
💡 Hint
as.integer() truncates the decimal part.
🔧 Debug
advanced
2:00remaining
Type coercion in numeric vector creation
What is the output of this R code?
R Programming
z <- c(1, 2, "3", 4)
typeof(z)
A"numeric"
B"character"
CError: non-numeric argument to binary operator
D"integer"
Attempts:
2 left
💡 Hint
Mixing numbers and strings in a vector causes coercion.
❓ Predict Output
advanced
2:00remaining
Result of numeric overflow in R
What is the output of this R code?
R Programming
big_num <- 1e308 * 10
big_num
A1e309
BNaN
C0
DInf
Attempts:
2 left
💡 Hint
Multiplying very large numbers can exceed the maximum representable value.
🧠 Conceptual
expert
2:00remaining
Understanding numeric precision in R
Which statement best describes numeric precision in R for double type numbers?
ADouble precision numbers in R are stored as integers internally.
BDouble precision numbers in R can represent all decimal numbers exactly.
CDouble precision numbers in R have about 15-16 decimal digits of precision.
DDouble precision numbers in R have unlimited precision.
Attempts:
2 left
💡 Hint
Think about how computers store floating-point numbers.

Practice

(1/5)
1. Which of the following is TRUE about numeric types in R?
easy
A. Numeric and integer types are the same in R.
B. Integer type stores decimal numbers by default.
C. Numeric type stores decimal numbers by default.
D. You must always use quotes to create numeric values.

Solution

  1. Step 1: Understand numeric and integer types in R

    In R, numeric type stores decimal numbers by default, while integer type stores whole numbers with an L suffix.
  2. Step 2: Evaluate each option

    Numeric type stores decimal numbers by default correctly states that numeric stores decimals by default. Options A, B, and C are incorrect based on R's type system.
  3. Final Answer:

    Numeric type stores decimal numbers by default. -> Option C
  4. Quick Check:

    Numeric = decimals [OK]
Hint: Remember: numeric = decimals, integer = whole numbers [OK]
Common Mistakes:
  • Confusing integer and numeric types
  • Thinking quotes are needed for numbers
  • Assuming numeric and integer are identical
2. Which of the following is the correct way to create an integer value 5 in R?
easy
A. x <- 5L
B. x <- "5"
C. x <- 5
D. x <- as.integer("5L")

Solution

  1. Step 1: Recall integer creation syntax in R

    In R, to create an integer literal, you add L after the number, e.g., 5L.
  2. Step 2: Check each option

    x <- 5L uses 5L which is correct. x <- 5 creates a numeric (decimal) 5, not integer. x <- "5" creates a string. x <- as.integer("5L") fails to convert the string "5L" to integer due to the L suffix, resulting in NA.
  3. Final Answer:

    x <- 5L -> Option A
  4. Quick Check:

    Integer literal = number + L [OK]
Hint: Use L suffix to make integers, else numeric by default [OK]
Common Mistakes:
  • Using plain numbers for integers
  • Confusing strings with numbers
  • Using as.integer on decimals expecting exact integer
3. What is the output of the following R code?
x <- as.numeric("3.14")
typeof(x)
medium
A. "double"
B. "numeric"
C. "integer"
D. "character"

Solution

  1. Step 1: Understand as.numeric() conversion

    as.numeric() converts a string to a numeric type, which in R is stored as double precision floating point.
  2. Step 2: Check typeof() result for numeric

    typeof() returns "double" for numeric values with decimals in R.
  3. Final Answer:

    "double" -> Option A
  4. Quick Check:

    as.numeric() returns double type [OK]
Hint: as.numeric() returns double type, not integer [OK]
Common Mistakes:
  • Expecting integer type from as.numeric()
  • Confusing character and numeric types
  • Thinking numeric means integer
4. Identify the error in this R code:
y <- 10L
z <- "abc"
sum <- y + z
medium
A. Error because sum is a reserved word
B. No error, sum is 10
C. Error because 10L is not numeric
D. Error because "abc" cannot convert to numeric

Solution

  1. Step 1: Check addition of integer and character

    z <- "abc" creates a character value. Adding integer y (10L) and character z causes an error because character cannot be converted to numeric for arithmetic operations.
  2. Step 2: Confirm the error

    The error is 'non-numeric argument to binary operator' since "abc" cannot convert to numeric.
  3. Final Answer:

    Error because "abc" cannot convert to numeric -> Option D
  4. Quick Check:

    String in arithmetic causes error [OK]
Hint: Non-numeric strings to as.numeric() produce NA [OK]
Common Mistakes:
  • Trying to perform arithmetic on strings
  • Thinking 10L is not numeric
  • Assuming sum is reserved and causes error
5. You have a character vector c("1", "2.5", "3L", "four"). Which R code correctly converts only the valid numeric values to numeric type, ignoring invalid ones?
hard
A. as.numeric(c("1", "2.5", "3L", "four"))
B. as.numeric(gsub("L", "", c("1", "2.5", "3L", "four")))
C. suppressWarnings(as.numeric(c("1", "2.5", "3L", "four")))
D. as.integer(c("1", "2.5", "3L", "four"))

Solution

  1. Step 1: Understand the problem with "3L" and "four"

    "3L" is not directly numeric because of the L suffix as a string; "four" is invalid.
  2. Step 2: Use gsub to remove "L" and convert

    Removing "L" from strings allows as.numeric() to convert "3" correctly; "four" becomes NA.
  3. Step 3: Check options

    as.numeric(gsub("L", "", c("1", "2.5", "3L", "four"))) removes "L" before conversion, correctly converting valid numbers and producing NA for "four". Others either do not handle "3L" or convert incorrectly.
  4. Final Answer:

    as.numeric(gsub("L", "", c("1", "2.5", "3L", "four"))) -> Option B
  5. Quick Check:

    Remove non-numeric chars before conversion [OK]
Hint: Remove non-numeric chars before as.numeric() [OK]
Common Mistakes:
  • Trying to convert strings with letters directly
  • Using as.integer on decimals
  • Ignoring warnings from invalid conversions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard