Bird
Raised Fist0
R Programmingprogramming~10 mins

String formatting with sprintf in R Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to format the number 5 as a string using sprintf.

R Programming
result <- sprintf([1], 5)
Drag options to blanks, or click blank then click option'
A"%d"
B"%f"
C"%s"
D"%x"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "%f" formats as floating point with decimals.
Using "%s" expects a string input, not a number.
Using "%x" formats as hexadecimal.
2fill in blank
medium

Complete the code to format the number 3.14159 to two decimal places using sprintf.

R Programming
result <- sprintf([1], 3.14159)
Drag options to blanks, or click blank then click option'
A"%.2f"
B"%.0f"
C"%.3f"
D"%d"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "%d" truncates the number to integer.
Using "%.0f" rounds to zero decimals.
Using "%.3f" keeps three decimals, not two.
3fill in blank
hard

Fix the error in the code to format the string with a name and age using sprintf.

R Programming
result <- sprintf("Name: %s, Age: [1]", "Alice", 30)
Drag options to blanks, or click blank then click option'
A"%c"
B"%f"
C"%s"
D"%d"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "%s" for age causes type mismatch.
Using "%f" formats as floating point.
Using "%c" expects a single character.
4fill in blank
hard

Fill both blanks to format a floating number with width 8 and 3 decimals using sprintf.

R Programming
result <- sprintf([1], [2])
Drag options to blanks, or click blank then click option'
A"%8.3f"
B3.14159
C8.12345
D"%6.2f"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "%6.2f" formats with wrong width and decimals.
Passing a string instead of a number as second argument.
Mixing up width and precision in format.
5fill in blank
hard

Fill all three blanks to format a string with a name left-aligned in width 10 and an integer score padded with zeros to width 4.

R Programming
result <- sprintf([1], [2], [3])
Drag options to blanks, or click blank then click option'
A"%-10s %04d"
B"%04d"
C"Alice"
D42
Attempts:
3 left
💡 Hint
Common Mistakes
Using "%10s" right-aligns the string.
Using "%d" does not pad zeros.
Passing numbers as strings causes errors.

Practice

(1/5)
1. What does the sprintf function in R primarily do?
easy
A. It reads data from a file and stores it in a string.
B. It splits a string into a list of words.
C. It converts strings to uppercase letters.
D. It creates a formatted string by inserting values into placeholders.

Solution

  1. Step 1: Understand the purpose of sprintf

    The sprintf function formats strings by replacing placeholders with values.
  2. Step 2: Compare options with the function's purpose

    Only It creates a formatted string by inserting values into placeholders. describes this behavior correctly; others describe unrelated string operations.
  3. Final Answer:

    It creates a formatted string by inserting values into placeholders. -> Option D
  4. Quick Check:

    sprintf formats strings = B [OK]
Hint: Remember sprintf builds strings by filling placeholders [OK]
Common Mistakes:
  • Confusing sprintf with string splitting functions
  • Thinking sprintf changes case of letters
  • Assuming sprintf reads files
2. Which of the following is the correct syntax to format an integer using sprintf in R?
easy
A. sprintf("%d", 42)
B. sprintf("%s", 42)
C. sprintf("%f", 42)
D. sprintf("%c", 42)

Solution

  1. Step 1: Identify the placeholder for integers

    The placeholder %d is used for integers in sprintf.
  2. Step 2: Match the placeholder with the value type

    Since 42 is an integer, %d is correct; %s is for strings, %f for floats, and %c for characters.
  3. Final Answer:

    sprintf("%d", 42) -> Option A
  4. Quick Check:

    Integer placeholder = %d [OK]
Hint: Use %d for integers, %s for strings, %f for decimals [OK]
Common Mistakes:
  • Using %s for numbers instead of %d
  • Using %f for integers without decimals
  • Confusing %c with integer formatting
3. What is the output of this R code?
sprintf("Name: %s, Age: %d", "Alice", 30)
medium
A. "Name: %s, Age: %d"
B. "Name: Alice, Age: 30"
C. "Name: Alice, Age: %d"
D. "Name: %s, Age: 30"

Solution

  1. Step 1: Match placeholders with arguments

    The first placeholder %s is replaced by "Alice" (string), the second %d by 30 (integer).
  2. Step 2: Construct the final string

    Replacing placeholders gives "Name: Alice, Age: 30" as the output string.
  3. Final Answer:

    "Name: Alice, Age: 30" -> Option B
  4. Quick Check:

    Placeholders replaced correctly = A [OK]
Hint: Placeholders %s and %d replaced by arguments in order [OK]
Common Mistakes:
  • Not replacing placeholders with values
  • Mixing up %s and %d placeholders
  • Outputting the format string literally
4. Identify the error in this R code:
sprintf("Value: %d", "ten")
medium
A. Incorrect use of double quotes around the format string.
B. Missing closing parenthesis in sprintf function.
C. Using %d placeholder with a string causes a type mismatch error.
D. No error; code runs correctly.

Solution

  1. Step 1: Check placeholder and argument types

    The placeholder %d expects an integer, but "ten" cannot be coerced to a number, resulting in NA and a warning.
  2. Step 2: Determine if it causes an error

    The code runs but produces a warning and outputs "Value: NA"; this is a type mismatch issue.
  3. Final Answer:

    Using %d placeholder with a string causes a type mismatch error. -> Option C
  4. Quick Check:

    Type mismatch warning occurs = A [OK]
Hint: sprintf coerces types, may produce NA and warning [OK]
Common Mistakes:
  • Confusing coercion warning with type mismatch error
  • Looking for missing parenthesis (it's present)
  • Assuming invalid quotes (they're correct)
5. You want to format a floating-point number with exactly 2 decimal places using sprintf. Which code snippet achieves this?
hard
A. sprintf("%.2f", 3.14159)
B. sprintf("%2f", 3.14159)
C. sprintf("%f.2", 3.14159)
D. sprintf("%f", round(3.14159, 2))

Solution

  1. Step 1: Understand the format for decimal precision

    The format %.2f tells sprintf to print a float with 2 digits after the decimal point.
  2. Step 2: Compare options for correct syntax

    sprintf("%.2f", 3.14159) uses %.2f, which is correct. sprintf("%2f", 3.14159) misses the dot, A has incorrect syntax, and D rounds before formatting but does not guarantee 2 decimals in output.
  3. Final Answer:

    sprintf("%.2f", 3.14159) -> Option A
  4. Quick Check:

    Use %.2f for 2 decimals [OK]
Hint: Use %.2f to fix two decimal places in sprintf [OK]
Common Mistakes:
  • Omitting the dot before precision number
  • Using round() but forgetting format specifier
  • Incorrect order of precision and type specifier
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