I am working on the Page Visits Funnel project in R. Step 3 says"how long is the visits data frame?" I interpreted this to mean “how many rows”. When I coded that and hit save, nothing happened. So I checked the hint which says: " Use nrows()
to find out the number of rows in a data frame." so I coded it this way:
total_visits <- visits %>%
nrows()
and also this way:
total_visits <- nrows(visits)
Neither solution produces a result upon saving. What is the error, please?
I’ve also tried:
total_visits ← visits_cart %>%
nrows()
head(total_visits)
This didn’t seem to work, either.
Also I suggest that you put the nrow in the inspection area.
Sorry, I also have a question about this project.
I´m trying to find the answer for step 5.
What percent of users who visited Cool T-Shirts Inc. ended up not placing a t-shirt in their cart?
I hope you can help me.
Thanks!
Here is how I tried to solve step 5 (and prior steps):
{r error=TRUE}
# define visits_cart here:
visits_cart <- visits %>%
left_join(cart)
visits_cart
# define total_visits here:
total_visits <- nrow(visits)
total_visits
# define visit_no_cart here:
visit_no_cart <- visits_cart %>%
filter(is.na(cart_time))
visit_no_cart
visit_no_cart_count <- nrow(visit_no_cart)
visit_no_cart_count
# calculate visit_no_cart_percent here:
visit_no_cart_percent <- visit_no_cart_count/total_visits
visit_no_cart_percent
The calculation came out to 82.6%. Is this what you got?
3 Likes
Hi
Right now, I’m on step 6, which goes like this:
" Repeat the left join for cart
and checkout
and count NA
values. What percentage of users put items in their cart, but did not proceed to checkout?"
So, before I could find the percentage mentioned, I needed to make a data frame which only had the carts that had not proceeded to checkout. To do this, I wrote the following code:
cart_checkout <- cart %>%
left_join(checkout) %>%
filter(is.na(checkout))
cart_checkout
However, when I do this, I get the following error:
Error: Result must have length 348, not 452
I don’t understand what they mean with this code…
Cheers, Jóhann Örn
it should be
filter(is.na(checkout_time))
you forgot to finish the column name.
Hello there,
I have a question regarding to question number 8.
What percentage of users proceeded to checkout, but did not purchase a t-shirt?
I took a different approach to this question compared to the walkthrough video but I thought it makes sense until I realized the answer I got is different than the answer in the video. I got 0.147058823529, in the video the answer is 0.16889632107. Can anyone look through my code and let me know why did I get a different answer? I looked through the code a couple times and couldn’t figure out which part might have caused a different answer.
I approached the calculation based on the merged table of all four DataFrames but in the video, the solution is to only merge Checkout and Purchase dataframes and proceed with the calculations from there just like question 5 and 6.
Here is my code:
all_data = visits.merge(cart, how = 'left').merge(checkout, how = 'left').merge(purchase, how = 'left')
#Here I am trying to find how many users have reached to the checkout phase.
checkout = len(all_data[all_data.checkout_time.notnull()])
print(checkout)
#prints 816.
#Then, I find out how many people did not made a purchase but reached to the checkout phase by using logical operator '&' with notnull() and isnull().
purchase_null = len(all_data[all_data.checkout_time.notnull() & all_data.purchase_time.isnull()])
#prints 120.
print(float(purchase_null)/checkout)
#prints 0.147058823529
Code from the video:
checkout_purchase = pd.merge(checkout,purchase, how='left')
checkout_time_rows = len(checkout_purchase)
print(checkout_time_rows)
#prints 598
purchase_null = len(checkout_purchase[checkout_purchase.purchase_time.isnull()])
print(purchase_null)
#prints 101
print(float(purchase_null)/checkout_time_rows)
#prints 0.16889632107
Thank you in advance!
I’m having an error:
Error in eval(lhs, parent, parent): object 'all_data' not found
This is due to this:
all_data <- all_data %>%
mutate(time_to_purchase = purchase_time - visit_time)
Can you explain to me what I should change?
This is what I did for FUNNELS step 4 and 5 …
#4 Count NULL ( users who did not add to the cart )
cart_count = visits_cart[visits_cart.cart_time.isnull()]
print("Did not add to cart: "+ str(cart_count))
print(cart_count)
#5 Percentage of users who visted site, but did not add to cart
percent_visited = 100 * float(len(cart_count)) / len(visits)
print("Percent of users who visted site, but did not add to the cart : " + str(percent_visited) + “%”)