knitr::opts_chunk$set(echo = TRUE)
# Install dan load paket yang dibutuhkan
if (!require("readr")) install.packages("readr")
## Loading required package: readr
if (!require("dplyr")) install.packages("dplyr")
## Loading required package: dplyr
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
if (!require("readxl")) install.packages("readxl")
## Loading required package: readxl
if (!require("ggplot2")) install.packages("ggplot2")
## Loading required package: ggplot2
if (!require("plotly")) install.packages("plotly")
## Loading required package: plotly
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(readr)
library(dplyr)
library(readxl)
library(ggplot2)
# Membaca dataset
file_path <- "Jakarta.csv" # Ganti sesuai lokasi file
data <- read.csv(file_path)
# Membersihkan nama kolom untuk menghindari masalah
colnames(data) <- make.names(colnames(data))
# Periksa nama kolom
colnames(data)
## [1] "Bulan" "Tahun" "Kota"
## [4] "Penjualan..unit." "Biaya.Promosi...." "Diskon...."
## [7] "Rating.Pelanggan..1.5." "Jenis.Outlet" "Kategori.Produk"
## [10] "Harga.Per.Unit...." "Pendapatan...." "Jenis.Outlet.ID"
data <- data %>%
mutate(Pendapatan = Penjualan..unit. * Harga.Per.Unit....)
pendapatan_per_kota <- data %>%
group_by(Kota) %>%
summarise(Total_Pendapatan = sum(Pendapatan, na.rm = TRUE))
pendapatan_per_kota
## # A tibble: 1 × 2
## Kota Total_Pendapatan
## <chr> <dbl>
## 1 Jakarta 36281839.
data <- data %>%
mutate(Jenis_Outlet_Dummy = ifelse(Jenis.Outlet == "Modern", 1, 0))
model <- lm(Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy, data = data)
print(summary(model))
##
## Call:
## lm(formula = Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -575429 -224903 822 157980 720516
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 339118.6 172202.5 1.969 0.0539 .
## Biaya.Promosi.... 122.2 61.5 1.986 0.0519 .
## Diskon.... 3927.9 8635.1 0.455 0.6510
## Jenis_Outlet_Dummy -20875.2 76425.1 -0.273 0.7857
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 293000 on 56 degrees of freedom
## Multiple R-squared: 0.0703, Adjusted R-squared: 0.02049
## F-statistic: 1.411 on 3 and 56 DF, p-value: 0.249
#Jakarta
# Scatter plot untuk Biaya Promosi
plot_biaya_promosi <- plot_ly(data,
x = ~Biaya.Promosi....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'blue')) %>%
layout(title = "Pendapatan vs Biaya Promosi",
xaxis = list(title = "Biaya Promosi"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Diskon
plot_diskon <- plot_ly(data,
x = ~Diskon....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'green')) %>%
layout(title = "Pendapatan vs Diskon",
xaxis = list(title = "Diskon"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Jenis Outlet Dummy
plot_outlet <- plot_ly(data,
x = ~Jenis_Outlet_Dummy,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'purple')) %>%
layout(title = "Pendapatan vs Jenis Outlet Dummy",
xaxis = list(title = "Jenis Outlet Dummy"),
yaxis = list(title = "Pendapatan"))
plot_biaya_promosi
plot_diskon
plot_outlet
knitr::opts_chunk$set(echo = TRUE)
# Install dan load paket yang dibutuhkan
if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("readxl")) install.packages("readxl")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("plotly")) install.packages("plotly")
library(readr)
library(dplyr)
library(readxl)
library(ggplot2)
# Membaca dataset
file_path <- "Depok.csv" # Ganti sesuai lokasi file
data <- read.csv(file_path)
# Membersihkan nama kolom untuk menghindari masalah
colnames(data) <- make.names(colnames(data))
# Periksa nama kolom
colnames(data)
## [1] "Bulan" "Tahun" "Kota"
## [4] "Penjualan..unit." "Biaya.Promosi...." "Diskon...."
## [7] "Rating.Pelanggan..1.5." "Jenis.Outlet" "Kategori.Produk"
## [10] "Harga.Per.Unit...." "Pendapatan...." "Jenis.Outlet.ID"
data <- data %>%
mutate(Pendapatan = Penjualan..unit. * Harga.Per.Unit....)
pendapatan_per_kota <- data %>%
group_by(Kota) %>%
summarise(Total_Pendapatan = sum(Pendapatan, na.rm = TRUE))
pendapatan_per_kota
## # A tibble: 1 × 2
## Kota Total_Pendapatan
## <chr> <dbl>
## 1 Depok 33733014.
data <- data %>%
mutate(Jenis_Outlet_Dummy = ifelse(Jenis.Outlet == "Modern", 1, 0))
model <- lm(Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy, data = data)
print(summary(model))
##
## Call:
## lm(formula = Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -562058 -211912 -69926 228432 759595
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 119747.27 177699.66 0.674 0.5032
## Biaya.Promosi.... 106.51 61.09 1.744 0.0867 .
## Diskon.... 18717.16 8355.00 2.240 0.0291 *
## Jenis_Outlet_Dummy -21168.58 81275.33 -0.260 0.7955
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 306400 on 56 degrees of freedom
## Multiple R-squared: 0.1308, Adjusted R-squared: 0.08422
## F-statistic: 2.809 on 3 and 56 DF, p-value: 0.04774
#Depok
# Scatter plot untuk Biaya Promosi
plot_biaya_promosi <- plot_ly(data,
x = ~Biaya.Promosi....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'blue')) %>%
layout(title = "Pendapatan vs Biaya Promosi",
xaxis = list(title = "Biaya Promosi"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Diskon
plot_diskon <- plot_ly(data,
x = ~Diskon....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'green')) %>%
layout(title = "Pendapatan vs Diskon",
xaxis = list(title = "Diskon"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Jenis Outlet Dummy
plot_outlet <- plot_ly(data,
x = ~Jenis_Outlet_Dummy,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'purple')) %>%
layout(title = "Pendapatan vs Jenis Outlet Dummy",
xaxis = list(title = "Jenis Outlet Dummy"),
yaxis = list(title = "Pendapatan"))
plot_biaya_promosi
plot_diskon
plot_outlet
knitr::opts_chunk$set(echo = TRUE)
# Install dan load paket yang dibutuhkan
if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("readxl")) install.packages("readxl")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("plotly")) install.packages("plotly")
library(readr)
library(dplyr)
library(readxl)
library(ggplot2)
# Membaca dataset
file_path <- "Bekasi.csv" # Ganti sesuai lokasi file
data <- read.csv(file_path)
# Membersihkan nama kolom untuk menghindari masalah
colnames(data) <- make.names(colnames(data))
# Periksa nama kolom
colnames(data)
## [1] "Bulan" "Tahun" "Kota"
## [4] "Penjualan..unit." "Biaya.Promosi...." "Diskon...."
## [7] "Rating.Pelanggan..1.5." "Jenis.Outlet" "Kategori.Produk"
## [10] "Harga.Per.Unit...." "Pendapatan...." "Jenis.Outlet.ID"
data <- data %>%
mutate(Pendapatan = Penjualan..unit. * Harga.Per.Unit....)
pendapatan_per_kota <- data %>%
group_by(Kota) %>%
summarise(Total_Pendapatan = sum(Pendapatan, na.rm = TRUE))
pendapatan_per_kota
## # A tibble: 1 × 2
## Kota Total_Pendapatan
## <chr> <dbl>
## 1 Bekasi 32225910.
data <- data %>%
mutate(Jenis_Outlet_Dummy = ifelse(Jenis.Outlet == "Modern", 1, 0))
model <- lm(Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy, data = data)
print(summary(model))
##
## Call:
## lm(formula = Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -459546 -178689 -71612 155606 914325
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 468751.645 150514.855 3.114 0.0029 **
## Biaya.Promosi.... -1.772 58.581 -0.030 0.9760
## Diskon.... 1793.943 8735.873 0.205 0.8380
## Jenis_Outlet_Dummy 90970.022 76381.906 1.191 0.2387
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 289200 on 56 degrees of freedom
## Multiple R-squared: 0.02815, Adjusted R-squared: -0.02391
## F-statistic: 0.5408 on 3 and 56 DF, p-value: 0.6563
#Depok
# Scatter plot untuk Biaya Promosi
plot_biaya_promosi <- plot_ly(data,
x = ~Biaya.Promosi....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'blue')) %>%
layout(title = "Pendapatan vs Biaya Promosi",
xaxis = list(title = "Biaya Promosi"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Diskon
plot_diskon <- plot_ly(data,
x = ~Diskon....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'green')) %>%
layout(title = "Pendapatan vs Diskon",
xaxis = list(title = "Diskon"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Jenis Outlet Dummy
plot_outlet <- plot_ly(data,
x = ~Jenis_Outlet_Dummy,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'purple')) %>%
layout(title = "Pendapatan vs Jenis Outlet Dummy",
xaxis = list(title = "Jenis Outlet Dummy"),
yaxis = list(title = "Pendapatan"))
plot_biaya_promosi
plot_diskon
plot_outlet
knitr::opts_chunk$set(echo = TRUE)
# Install dan load paket yang dibutuhkan
if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("readxl")) install.packages("readxl")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("plotly")) install.packages("plotly")
library(readr)
library(dplyr)
library(readxl)
library(ggplot2)
# Membaca dataset
file_path <- "Bogor.csv" # Ganti sesuai lokasi file
data <- read.csv(file_path)
# Membersihkan nama kolom untuk menghindari masalah
colnames(data) <- make.names(colnames(data))
# Periksa nama kolom
colnames(data)
## [1] "Bulan" "Tahun" "Kota"
## [4] "Penjualan..unit." "Biaya.Promosi...." "Diskon...."
## [7] "Rating.Pelanggan..1.5." "Jenis.Outlet" "Kategori.Produk"
## [10] "Harga.Per.Unit...." "Pendapatan...." "Jenis.Outlet.ID"
data <- data %>%
mutate(Pendapatan = Penjualan..unit. * Harga.Per.Unit....)
pendapatan_per_kota <- data %>%
group_by(Kota) %>%
summarise(Total_Pendapatan = sum(Pendapatan, na.rm = TRUE))
pendapatan_per_kota
## # A tibble: 1 × 2
## Kota Total_Pendapatan
## <chr> <dbl>
## 1 Bogor 34794895.
data <- data %>%
mutate(Jenis_Outlet_Dummy = ifelse(Jenis.Outlet == "Modern", 1, 0))
model <- lm(Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy, data = data)
print(summary(model))
##
## Call:
## lm(formula = Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -512584 -246964 -30078 201938 583555
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 483547.05 171827.21 2.814 0.00674 **
## Biaya.Promosi.... 14.12 70.52 0.200 0.84207
## Diskon.... 7940.48 9996.27 0.794 0.43035
## Jenis_Outlet_Dummy -43688.92 80667.23 -0.542 0.59025
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 306900 on 56 degrees of freedom
## Multiple R-squared: 0.01775, Adjusted R-squared: -0.03487
## F-statistic: 0.3373 on 3 and 56 DF, p-value: 0.7984
#Depok
# Scatter plot untuk Biaya Promosi
plot_biaya_promosi <- plot_ly(data,
x = ~Biaya.Promosi....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'blue')) %>%
layout(title = "Pendapatan vs Biaya Promosi",
xaxis = list(title = "Biaya Promosi"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Diskon
plot_diskon <- plot_ly(data,
x = ~Diskon....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'green')) %>%
layout(title = "Pendapatan vs Diskon",
xaxis = list(title = "Diskon"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Jenis Outlet Dummy
plot_outlet <- plot_ly(data,
x = ~Jenis_Outlet_Dummy,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'purple')) %>%
layout(title = "Pendapatan vs Jenis Outlet Dummy",
xaxis = list(title = "Jenis Outlet Dummy"),
yaxis = list(title = "Pendapatan"))
plot_biaya_promosi
plot_diskon
plot_outlet
knitr::opts_chunk$set(echo = TRUE)
# Install dan load paket yang dibutuhkan
if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("readxl")) install.packages("readxl")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("plotly")) install.packages("plotly")
library(readr)
library(dplyr)
library(readxl)
library(ggplot2)
# Membaca dataset
file_path <- "Tangerang.csv" # Ganti sesuai lokasi file
data <- read.csv(file_path)
# Membersihkan nama kolom untuk menghindari masalah
colnames(data) <- make.names(colnames(data))
# Periksa nama kolom
colnames(data)
## [1] "Bulan" "Tahun" "Kota"
## [4] "Penjualan..unit." "Biaya.Promosi...." "Diskon...."
## [7] "Rating.Pelanggan..1.5." "Jenis.Outlet" "Kategori.Produk"
## [10] "Harga.Per.Unit...." "Pendapatan...." "Jenis.Outlet.ID"
data <- data %>%
mutate(Pendapatan = Penjualan..unit. * Harga.Per.Unit....)
pendapatan_per_kota <- data %>%
group_by(Kota) %>%
summarise(Total_Pendapatan = sum(Pendapatan, na.rm = TRUE))
pendapatan_per_kota
## # A tibble: 1 × 2
## Kota Total_Pendapatan
## <chr> <dbl>
## 1 Tangerang 32632247.
data <- data %>%
mutate(Jenis_Outlet_Dummy = ifelse(Jenis.Outlet == "Modern", 1, 0))
model <- lm(Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy, data = data)
print(summary(model))
##
## Call:
## lm(formula = Pendapatan ~ Biaya.Promosi.... + Diskon.... + Jenis_Outlet_Dummy,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -540540 -228011 -64546 242860 724252
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 520517.38 162292.12 3.207 0.00222 **
## Biaya.Promosi.... 100.23 63.44 1.580 0.11975
## Diskon.... -9603.39 9367.05 -1.025 0.30966
## Jenis_Outlet_Dummy -95573.81 82441.74 -1.159 0.25126
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 316400 on 56 degrees of freedom
## Multiple R-squared: 0.0728, Adjusted R-squared: 0.02313
## F-statistic: 1.466 on 3 and 56 DF, p-value: 0.2337
#Depok
# Scatter plot untuk Biaya Promosi
plot_biaya_promosi <- plot_ly(data,
x = ~Biaya.Promosi....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'blue')) %>%
layout(title = "Pendapatan vs Biaya Promosi",
xaxis = list(title = "Biaya Promosi"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Diskon
plot_diskon <- plot_ly(data,
x = ~Diskon....,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'green')) %>%
layout(title = "Pendapatan vs Diskon",
xaxis = list(title = "Diskon"),
yaxis = list(title = "Pendapatan"))
# Scatter plot untuk Jenis Outlet Dummy
plot_outlet <- plot_ly(data,
x = ~Jenis_Outlet_Dummy,
y = ~Pendapatan,
type = 'scatter',
mode = 'markers',
marker = list(color = 'purple')) %>%
layout(title = "Pendapatan vs Jenis Outlet Dummy",
xaxis = list(title = "Jenis Outlet Dummy"),
yaxis = list(title = "Pendapatan"))
plot_biaya_promosi
plot_diskon
plot_outlet