Join Operations in R | Fresco Play

Author: neptune | 29th-Oct-2023
#Hackerrank #Problem Solving

In this blog, we will explore how to perform various join operations in R using two data sets, 'flights' and 'weather'. The 'flights' data set contains information about flights that departed from New York City in 2013, while the 'weather' data set provides weather data for each NYC airport for each hour. 


We will address the following tasks:

1. Return all rows from 'flights' and all columns from 'flights' and 'weather'. Output by the columns year and month. Return only the first 10 rows of the output and save it in the variable quest_1.


2. Return all rows from 'weather' and all columns from 'weather' and 'flights'. Output by the columns year, month, day, and hour. Return only the first 10 rows of the output and save it in the variable quest_2.


3. Return only the rows in which the flights have matching keys in the 'weather' data set. Output by the columns year, month, day, and hour. Return only the first 10 rows of the output and save it in the variable quest_3.


4. Combine two data sets, keeping rows and columns that appear in both 'flights' and 'weather'. Output by the columns year, month, and day. Return only the first 10 rows of the output and save it in the variable quest_4.


5. Return only columns from 'flights'. Output by the columns year, month, day, and hour. Return only the first 10 rows of the output. (Include the necessary libraries and read the data from the data set) and save it in the variable quest_5.


Once you are in the Web IDE:


Open prog.R file in the jupyter lab  and start your coding by following the instructions in the notebook.

Once you are done with the solution , then run the following command in the terminal to check your solutions.
Click File -> New -> Terminal, run the following command as shown below


    >>> Rscript prog.R

    >>> bash .score.sh



After running the test cases, click the submit button  and click on Submit Test to end the assessment.


Notes: 

(1)The results of preliminary validation don't impact final scoring. In-depth scoring are done at a later stage.


(2) Here the Rough_Work.ipynb notebook can be used for coding if necessary for rough work.


(3) In Terminal if incase the password is being asked kindly click on "ENTER" after 3 incorrect attempts the above given command will run successfully.



Let's dive into the solutions for each of these tasks.

Solution in R:

Task 0 - Import dplyr library and read csv files of  'flights' and 'weather' data


    # Load necessary libraries (if not already loaded)

    library(dplyr)


    # Read 'flights' and 'weather' data sets

    flights <- read.csv("flights.csv")

    weather <- read.csv("weather.csv")



Task 1: Return all rows from 'flights' and all columns from 'flights' and 'weather'.


    # Output by the columns year and month. Return only the first 10 rows of the output.

    quest_1 <- flights %>%

    select(year, month) %>%

    inner_join(weather, by = c("year", "month")) %>%

    head(10)


Task 2 - Returning Rows and Columns from 'weather' and 'flights'


    # Output by the columns year, month, day, and hour. Return only the first 10 rows of the output.

    quest_2 <- weather %>%

    select(year, month, day, hour) %>%

    inner_join(flights, by = c("year", "month")) %>%

    head(10)


Task 3 - Returning Matching Rows between 'flights' and 'weather'


    # Task 3: Return only the rows in which the flights have matching keys in the 'weather' data set.

    # Output by the columns year, month, day, and hour. Return only the first 10 rows of the output.

    quest_3 <- flights %>%

    inner_join(weather, by = c("year", "month", "day", "hour")) %>%

    select(year, month, day, hour) %>%

    head(10)



Task 4 - Combining Rows and Columns in 'flights' and 'weather'


    # Task 4: Combine two data sets, keeping rows and columns that appear in both 'flights' and 'weather'.

    # Output by the columns year, month, and day. Return only the first 10 rows of the output.

    quest_4 <- flights %>%

    inner_join(weather, by = c("year", "month", "day")) %>%

    select(year, month, day) %>%

    head(10)



Task 5 - Returning Columns from 'flights'


    # Task 5: Return only columns from 'flights'.

    # Output by the columns year, month, day, and hour. Return only the first 10 rows of the output.

    quest_5 <- flights %>%

    select(year, month, day, hour) %>%

    head(10)



Once you've completed these tasks in your R script, you can run the script to obtain the desired output and save them in the variables quest_1 to quest_5.


Don't forget to run the validation script as mentioned in the problem statement to check your solutions. This will ensure that your code meets the requirements of the tasks.


Now you are well-equipped to perform join operations in R with confidence. Happy coding!





Related Blogs
5. Solution of Hacker Rank Weather Observation Station 8.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and u) as both their first and last characters. Your result cannot contain duplicates...

The Blunder | Hackerrank
Author: neptune | 21st-Nov-2022
#SQL #Hackerrank
Write a query calculating the amount of error (i.e.: average monthly salaries), and round it up to the next integer...

7.Solution of Hacker Rank The Report
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : generate a report containing three columns: Name, Grade and Mark. Ketty doesn't want the NAMES of those students who received a grade lower than 8...

4. Solution of Hacker Rank Weather Observation Station 6.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates...

3. Solution of Hacker Rank Weather Observation Station 4.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Find the difference between the total number of CITY entries in the table and the number of distinct CITY entries in the table...

The PADS | Hackerrank
Author: neptune | 21st-Nov-2022
#SQL #Hackerrank
Problem Statement: Generate the following two result sets: 1. Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession...

6. Solution of Hacker Rank Employee Salaries.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Query that prints a list of employee names for employees in Employee having a salary greater than $2000 per month and experience less than 10 months...

Identifying the Odd One Out in a Series of Strings | Hackerrank
Author: neptune | 15th-Jun-2023
#Hackerrank #Problem Solving
The article presents an algorithm to identify the odd one out in a series of strings efficiently...

1. Basic SQL Select Query of Hacker Rank.
Author: neptune | 20th-Apr-2022
#SQL #Hackerrank
Problem Statement : Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA...

2. Solution of Hacker Rank Weather Observation Station 3.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer...

Modified 0-1 knapsack problem | Frsco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
An automobile mechanic wants to buy a set of spare parts from a manufacturing unit. Goal is to maximise the amount of money the mechanic can earn...

AngularJS - Know Tech Frameworks | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
Build an application that displays the framework details using AngularJS routing. We will build an application that displays the Tech Frontend and Backend frameworks...

Solving the Ice Cream Parlor Problem | Hackerrank
Author: neptune | 04th-Jun-2023
#Hackerrank #Problem Solving
Two friends like to pool their money and go to the ice cream parlour. They always choose two distinct flavours and they spend all of their money...

Backspace String Compare using R | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
The code implementation in both R and Python solves the "Backspace String Compare" problem using stack data structure...

Git - Recovering Discarded Changes
Author: neptune | 13th-Jul-2023
#Github #Problem Solving
We will follow a scenario where a developer is working on a web application and needs to recover a discarded commit to reintroduce a specific feature...

PySpark Milestone Black Friday Sales Data | Fresco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Data Science #Hackerrank
Welcome to the Spark Challenge. You are provided with the Black Friday sales data and we as a big data developer needs to analyze and fetch the required data...

Problem of Merging Two Sorted Linked Lists
Author: neptune | 02nd-Jun-2023
#Algorithms #Problem Solving
Merging two sorted linked lists efficiently into a single, sorted list can be achieved using optimized algorithms...

Cassandra Products JSON | Fresco Play
Author: neptune | 29th-Oct-2023
#Hackerrank #Problem Solving
We'll go through a series of common tasks related to managing data in Cassandra...

Finding the Most Expensive Keyboard and USB Drive within a Budget | Hackerrank
Author: neptune | 05th-Jun-2023
#Hackerrank #Problem Solving
A person wants to determine the most expensive computer keyboard and USB drive that can be purchased with a give budget...

Python - Number Based Problem | Hackerrank
Author: neptune | 17th-Aug-2023
#Hackerrank #Problem Solving
Determine whether the number in descending order is a prime or not. If the number is a prime, then print "Sorted Number is a prime number," otherwise, print "Sorted Number is not a prime number."..

View More