FAQ: Introduction to R Syntax - Logical Operators

This community-built FAQ covers the “Logical Operators” exercise from the lesson “Introduction to R Syntax”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn R

FAQs on the exercise Logical Operators

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

3 posts were split to a new topic: Cannot read property ‘0’ of null

Ok, so the solution to this one should be

if (weather == ‘cloudy’ & high_chance_of_rain) {
message <- “Pack umbrella!”
}
else {
message <- “No need for umbrella!”
}
print(message)

But it keeps throwing an error, “cannot read property 0 of null”. So it turns out that if, as in the example above, the “else” block begins on the line below the curly brace that closes the if statement, the error pops up. However it doesn’t pop up if both the closing brace and the else statement are on the same line. Had to write it like that just so that it would let me move on to the next exercise.

5 Likes

Hi!
My code was:

if (weather == ‘cloudy’ & high_chance_of_rain) {
message <- “Pack an umbrella!”
} else {
message <- “No need for umbrella!”
}

print(message)

but it was not accepted as a correct one - I got this message: Did you create a conditional statement and change the value of message to the string specified?

I see no difference in their solution and in my code. What am I missing?

Sabina

Hello, @sabinapovhe899448947. Welcome to the forum!

The string specified in this case is, "Pack umbrella!" not "Pack an umbrella!"
Sometimes the SCT for the exercises is very picky. Happy coding!

2 Likes

Oh wow, didn’t even notice this :open_mouth: thank you! :sunflower:

1 Like

So when we are setting up, why don’t we need to set the high chance of rain to true?

1 Like

Hello, @seanspencer117.

Welcome to the forums!

The skeleton code provided to us when we begin the exercise does just that:
image

1 Like

So I wrote:

if (weather == ‘cloudy’ & high_change_of_rain) {
message <- “Pack umbrella!”}
else {message <- “No need for umbrella!”}
print (message)

I received an error "Error in source(tempR).

The solution reads:

if (weather == ‘cloudy’ & high_chance_of_rain) {
message <- “Pack umbrella!”
} else {
message <- “No need for umbrella!”
}
print(message)

What’s the difference between mine and the solution? Does it matter what line things are placed on? If so, why don’t they cover that?

2 Likes

Look closely at your code. Read it carefully and deliberately. Sometimes reading it out loud helps. Don’t just say what you think the code says. Say what the code actually says.

I noticed I had a typo in my first message and I did actually have it as high_chance_of_rain in the exercise.

I’m reading both of them out loud… “If weather equals cloudy and high_chance_of_rain is true then the message is Pack Umbrella! If not, the message is No need for umbrella! Print the message.”

Yeah. I was referring to the typo. Beyond that, (I’ve only ever dabbled in R) it appears that you cannot begin a new line of code with else. It seems in R syntax the else doesn’t know it belongs to the previous if unless it is on the same line as the closing } from the if.

Yes, that was it. I asked in a reddit thread also and they said that the else has to be on the same line as the closing }. I wish that would have been mentioned in the lesson - I have no idea how we would know that otherwise.

4 Likes

Got it, but there is something I still don’t fully understand. When I wrote the statement they ask, I am checking if variables have the value necessary for that specific message. Why shouldn’t I specify the value that high_chance_of_rain must check TRUE?

I assume that you are referring to the condition

if (weather == ‘cloudy’ & high_chance_of_rain) {…}

You would not need to include a condition high_chance_of_rain == True (which returns True if you were to run it on its own line), as the value of high_chance_of_rain already is True and would already be enough. We don’t need the equality check.

I hope I have interpreted your question right, if not, please feel free to reply.

I write my code, it shows Error in source(tempR) :
Then I ask for solution, which exactly what I had written and it works fine.

Scroll up a few posts. FAQ: Introduction to R Syntax - Logical Operators

hi there, this is my code, but I’m getting a message “did you create a conditional statement and change the value of message to the string specified?”

if(weather == ‘cloudy’ & high_chance_of_rain) {message <-“pack umbrella”} else {message<-“no need for umbrella”}
print(message)

I’ve tried to change where I introduce line breaks but it’s never correct