we <- c(68,85,74,88,63,78,90,80,58,63)

we2 <- c(85,91,74,100,82,84,78,100,51,70)
plot(we,we2,
     pch = 17,
     col= "black",
     main ="統計成績與數學成績",
     xlab ="統計成績",
     ylab ="數學成績")

we <- c(68,85,74,88,63,78,90,80,58,63)
hist(we,
     col= "pink",
     main ="班上的統計成績",
     xlab ="統計成績",
     ylab ="次數")

# Load ggplot2
library(ggplot2)

# Create data
data <- data.frame(
  社團=c("娛樂休閒","知識閱讀","體育競技","科學創新","公益活動") ,  
  人數=c(185,82,36,28,25)
  )

# Barplot
ggplot(data, aes(x=社團, y=人數)) + 
  geom_bar(stat = "identity",fill="lightblue" )

# Create data for the graph.
x <- c(185, 82, 36, 28,25)
labels <- c("娛樂休閒", "知識閱讀", "體育競技", "科學創新","公益活動")

# Plot the chart with title and rainbow color pallet.
pie(x, labels, main = "社團參加次數", col = rainbow(length(x)))

# Library
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.4     ✔ tibble    3.2.1
## ✔ purrr     1.0.4     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Create data
data <- data.frame(
  x=c("娛樂休閒", "知識閱讀", "體育競技", "科學創新","公益活動"),
  y=c(185, 82, 36, 28,25))

 
# plot
ggplot(data, aes(x=x, y=y)) +
  geom_segment( aes(x=x, xend=x, y=0, yend=y)) +
  geom_point( size=5, color="lightpink", fill=alpha("lightyellow", 0.3), alpha=0.7, shape=21, stroke=2) 

Data <- read.csv("D:/table1_1.csv")
stem(Data$Japanese)
## 
##   The decimal point is 1 digit(s) to the right of the |
## 
##   4 | 9
##   5 | 139
##   6 | 13
##   7 | 9
##   8 | 49
##   9 | 1
Data <- read.csv("D:/table1_1.csv")
stem(Data$Japanese)
## 
##   The decimal point is 1 digit(s) to the right of the |
## 
##   4 | 9
##   5 | 139
##   6 | 13
##   7 | 9
##   8 | 49
##   9 | 1
mean(Data$Japanese)
## [1] 67.9
median(Data$Japanese)
## [1] 62
as.numeric(names(table(Data$Japanese)))[which.max(table(Data$Japanese))]
## [1] 49
sd(Data$Japanese) 
## [1] 16.25115
var(Data$Japanese)
## [1] 264.1
Q1 <- quantile(Data$Japanese, 1 / 4)
Q3 <- quantile(Data$Japanese, 3 / 4)