Бинарные операции в кадре данных - PullRequest
0 голосов
/ 16 марта 2020

У меня небольшой вопрос, касающийся бинарных операций в кадре данных. Здесь у меня есть датафрейм, и я хочу создать новый столбец PerWeek, который является результатом при взятии Gross, деленного на Weeks, и мне интересно, как я могу это сделать, поскольку элементы Gross не являются цифрами c.

boxoffice = function(){
  url = "https://www.imdb.com/chart/boxoffice"
  read_table = read_html("https://www.imdb.com/chart/boxoffice")
  movie_table = html_table(html_nodes(read_table, "table")[[1]])
  Name = movie_table[2]
  Gross = movie_table[4]
  Weeks = movie_table[5]
  BoxOffice = 
  for (i in 1:10){
    PerWeek = movie_table[4][i] %/% movie_table[5][i]
  }
  df = data.frame(Name,BoxOffice,PerWeek)
  return(df)
}

enter image description here

1 Ответ

0 голосов
/ 16 марта 2020

Если у вас есть значение Gross всегда в миллионах, вы можете получить из него числа и умножить на 1e6, чтобы получить сумму в миллионах, а затем разделить на Weeks.

library(rvest)
library(dplyr)

url = "https://www.imdb.com/chart/boxoffice"
read_table = read_html("https://www.imdb.com/chart/boxoffice")
movie_table = html_table(html_nodes(read_table, "table")[[1]])
movie_table <- movie_table[-c(1, ncol(movie_table))]
movie_table %>% mutate(per_week_calc = readr::parse_number(Gross) * 1e6/Weeks)


#                  Title Weekend   Gross Weeks per_week_calc
#1                Onward  $10.5M  $60.3M     2      30150000
#2       I Still Believe   $9.5M   $9.5M     1       9500000
#3             Bloodshot   $9.3M  $10.5M     1      10500000
#4     The Invisible Man   $6.0M  $64.4M     3      21466667
#5              The Hunt   $5.3M   $5.8M     1       5800000
#6    Sonic the Hedgehog   $2.6M $145.8M     5      29160000
#7          The Way Back   $2.4M  $13.4M     2       6700000
#8  The Call of the Wild   $2.2M  $62.1M     4      15525000
#9                 Emma.   $1.4M  $10.0M     4       2500000
#10    Bad Boys for Life   $1.1M $204.3M     9      22700000

Если у вас есть данные в миллиардах или тысячах, вы можете сослаться

Изменение сокращений миллионов / миллиардов в фактические числа? ie. 5.12M -> 5 120 000 и Преобразование из K в тысячу (1000) в R

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...