vec.name <- c("김지훈 ", "이유진 ", "박동현 ","김민지 ")
#vec.name <- c("a ", "b ", "c ","d ")
vec.name
vec.english <- c(90 , 80 , 60 , 70)
vec.english
vec.math <- c(50,60,100,20)
vec.math
vec.class <- c(1,1,2,2)
df_score <- data.frame(vec.name,vec.english,vec.math,vec.class)
df_score

id <- c(1:10)
id
class <- c(1,1,1,1,1,2,2,2,2,2)
class
math <- c(50,60,45,30,25,50,67,90,87,77)
math
english <- c(98,97,86,98,80,89,50,67,90,87)
english
science <- c(50,60,78,58,65,98,50,67,90,87)
science
df.exam <- data.frame(id,class,math ,english,science)
df.exam
#주석 :전체학생점수 보기 
df.exam
#n번째 row까지만 보여주기 head(df,n)(자주 사용됨)
head(df.exam,8)
#밑에서 n번째 row까지만 보여주기 tail(df,n)
tail(df.exam,8)
#뷰어창에서 df확인 View(df)* view의 v는 대문자이다.
View(df.exam)
#df, rowcount,col count
dim(df.exam)
#str()strucre를 나타내는 함수 (자주 사용됨) 
str(df.exam)
#summary() 요약
summary(df.exam)
#package
#install.packages("ggplot2") #전체 플젝으로 불러오느것 
#library(ggplot2)  #이 파일로 불로오는 것 
#df.mpg <- as.data.frame(ggplot2::mpg)
#df.mpgdf

df.exam %>%  #ctrl+shift+m 파이프라이
  data.table::setnames(
  )
if("dplyr" %in% installed.packages("dplyr") == FALSE)install.packages("dplyr")
library(dplyr)
df.exam %>%   #ctrl+shift+m 파이프라이
  data.table::setnames(
    old = "id",
    new="아이디 "
  )
df.exam

df.exam$total <- df.exam$math+df.exam$english+df.exam$science
df.exam 


df.exam$mean <- df.exam$total/3
df.exam 

hist(df.exam$total)
hist(df.exam$mean)
hist(df.exam$math)
#ifelse()
df.exam$test <- ifelse(df.exam$mean>=80, "합격","불합격")
df.exam

#table()
table(df.exam$mean)
library(ggplot2)
ggplot2::qplot(df.exam$test)
df.exam$class <- ifelse(df.exam$mean>=80,"A",
                    ifelse(df.exam$mean>=70,"B","C")
                    )
df.exam
ggplot2::qplot(df.exam$class)

####4함수::head ,tail, str ,summary
head(df.mpg)
tail(df.mpg)
str(df.mpg)
summary(df.mpg)
#변수명 수정 
library(dplyr)
df.mpg %>%   #ctrl+shift+m 파이프라이
  data.table::setnames(
    old = "manufacturer","model","displ","year","cyl ","trans","drv","cty","hwy","fl","class",
    new="제조회사","자동차모델","배기량","생산연도","실린더 개수","변속기 종류","구동방식"  ,"도시연비 ","고속도로 연비","연료종류","자동차 종류"
  )
df.mpg

# 파생변수 생성 
df.mpg$total <-(df.mpg$cty+df.mpg$hwy) 
df.mpg
df.mpg$mean <- (df.mpg$total)/2
df.mpg
df.mpg$test <- ifelse(df.mpg$total>=40, "pass","fail")
df.mpg

#빈도 확인
table(df.mpg$test)
library(ggplot2)
ggplot2::qplot(df.mpg$test)


#####df.midwest
library(ggplot2)
df.midwest <- as.data.frame(ggplot2::midwest)
df.midwest
head(df.midwest)
tail(df.midwest)
str(df.midwest)
summary(df.midwest)

#변수 이름 수정 하기 

df.midwest %>%    
  data.table::setnames(
    old = "poptotal","popasian",
    new="total","asian"
)
df.midwest

# 파생변수 생성 

df.midwest$aa <- (df.midwest$popasian/df.midwest$poptotal)*100
df.midwest
hist(df.midwest$aa)
mean(df.midwest$aa)
df.midwest$test <- ifelse(df.midwest$aa>0.4872462,"large","small")
df.midwest























#'data.frame':  234 obs. of  11 variables:
#  $ manufacturer(제조회사): chr  "audi" "audi" "audi" "audi" ...
#$ model  (자동차모델 )     : chr  "a4" "a4" "a4" "a4" ...
#$ displ (배기량 )      : num  1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ...
#$ year  (생산연도 )      : int  1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ...
#$ cyl    (실린더 개수 )     : int  4 4 4 4 6 6 6 4 4 4 ...
#$ trans (변속기 종류 )      : chr  "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ...
#$ drv  (구동방식 )       : chr  "f" "f" "f" "f" ...
#$ cty  (도시연비 )       : int  18 21 20 21 16 18 18 18 16 20 ...
#$ hwy  (고속도로 연비 )       : int  29 29 31 30 26 26 27 26 25 28 ...
#$ fl     (연료종류 )     : chr  "p" "p" "p" "p" ...
#$ class  (자동차 종류 )     : chr  "compact" "compact" "compact" "compact" ...


#manufacturer          model          
#Length:234         Length:234        
#Class :character   Class :character  
#Mode  :character   Mode  :character  


#manufacturer          model          
#Length:234         Length:234        
#Class :character   Class :character  
#Mode  :character   Mode  :character  



#displ            year           cyl       
#Min.   :1.600   Min.   :1999   Min.   :4.000  
#1st Qu.:2.400   1st Qu.:1999   1st Qu.:4.000  
#Median :3.300   Median :2004   Median :6.000  
#Mean   :3.472   Mean   :2004   Mean   :5.889  
#3rd Qu.:4.600   3rd Qu.:2008   3rd Qu.:8.000  
#Max.   :7.000   Max.   :2008   Max.   :8.000  
#trans               drv           
#Length:234         Length:234        
#Class :character   Class :character  
#Mode  :character   Mode  :character  



#cty             hwy             fl           
#Min.   : 9.00   Min.   :12.00   Length:234        
#1st Qu.:14.00   1st Qu.:18.00   Class :character  
#Median :17.00   Median :24.00   Mode  :character  
#Mean   :16.86   Mean   :23.44                     
#3rd Qu.:19.00   3rd Qu.:27.00                     
#Max.   :35.00   Max.   :44.00                     
#class          
#Length:234        
#Class :character  
#Mode  :character  
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KDQp2ZWMubmFtZSA8LSBjKCLquYDsp4Dtm4ggIiwgIuydtOycoOynhCAiLCAi67CV64+Z7ZiEICIsIuq5gOuvvOyngCAiKQ0KI3ZlYy5uYW1lIDwtIGMoImEgIiwgImIgIiwgImMgIiwiZCAiKQ0KdmVjLm5hbWUNCnZlYy5lbmdsaXNoIDwtIGMoOTAgLCA4MCAsIDYwICwgNzApDQp2ZWMuZW5nbGlzaA0KdmVjLm1hdGggPC0gYyg1MCw2MCwxMDAsMjApDQp2ZWMubWF0aA0KdmVjLmNsYXNzIDwtIGMoMSwxLDIsMikNCmRmX3Njb3JlIDwtIGRhdGEuZnJhbWUodmVjLm5hbWUsdmVjLmVuZ2xpc2gsdmVjLm1hdGgsdmVjLmNsYXNzKQ0KZGZfc2NvcmUNCg0KaWQgPC0gYygxOjEwKQ0KaWQNCmNsYXNzIDwtIGMoMSwxLDEsMSwxLDIsMiwyLDIsMikNCmNsYXNzDQptYXRoIDwtIGMoNTAsNjAsNDUsMzAsMjUsNTAsNjcsOTAsODcsNzcpDQptYXRoDQplbmdsaXNoIDwtIGMoOTgsOTcsODYsOTgsODAsODksNTAsNjcsOTAsODcpDQplbmdsaXNoDQpzY2llbmNlIDwtIGMoNTAsNjAsNzgsNTgsNjUsOTgsNTAsNjcsOTAsODcpDQpzY2llbmNlDQpkZi5leGFtIDwtIGRhdGEuZnJhbWUoaWQsY2xhc3MsbWF0aCAsZW5nbGlzaCxzY2llbmNlKQ0KZGYuZXhhbQ0KI+yjvOyEnSA67KCE7LK07ZWZ7IOd7KCQ7IiYIOuztOq4sCANCmRmLmV4YW0NCiNu67KI7Ke4IHJvd+q5jOyngOunjCDrs7Tsl6zso7zquLAgaGVhZChkZixuKSjsnpDso7wg7IKs7Jqp65CoKQ0KaGVhZChkZi5leGFtLDgpDQoj67CR7JeQ7IScIG7rsojsp7ggcm936rmM7KeA66eMIOuztOyXrOyjvOq4sCB0YWlsKGRmLG4pDQp0YWlsKGRmLmV4YW0sOCkNCiPrt7DslrTssL3sl5DshJwgZGbtmZXsnbggVmlldyhkZikqIHZpZXfsnZggduuKlCDrjIDrrLjsnpDsnbTri6QuDQpWaWV3KGRmLmV4YW0pDQojZGYsIHJvd2NvdW50LGNvbCBjb3VudA0KZGltKGRmLmV4YW0pDQojc3RyKClzdHJ1Y3Jl66W8IOuCmO2DgOuCtOuKlCDtlajsiJggKOyekOyjvCDsgqzsmqnrkKgpIA0Kc3RyKGRmLmV4YW0pDQojc3VtbWFyeSgpIOyalOyVvQ0Kc3VtbWFyeShkZi5leGFtKQ0KI3BhY2thZ2UNCiNpbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikgI+yghOyytCDtlIzsoJ3snLzroZwg67aI65+s7Jik64qQ6rKDIA0KI2xpYnJhcnkoZ2dwbG90MikgICPsnbQg7YyM7J2866GcIOu2iOuhnOyYpOuKlCDqsoMgDQojZGYubXBnIDwtIGFzLmRhdGEuZnJhbWUoZ2dwbG90Mjo6bXBnKQ0KI2RmLm1wZ2RmDQoNCmRmLmV4YW0gJT4lICAjY3RybCtzaGlmdCttIO2MjOydtO2UhOudvOydtA0KICBkYXRhLnRhYmxlOjpzZXRuYW1lcygNCiAgKQ0KaWYoImRwbHlyIiAlaW4lIGluc3RhbGxlZC5wYWNrYWdlcygiZHBseXIiKSA9PSBGQUxTRSlpbnN0YWxsLnBhY2thZ2VzKCJkcGx5ciIpDQpsaWJyYXJ5KGRwbHlyKQ0KZGYuZXhhbSAlPiUgICAjY3RybCtzaGlmdCttIO2MjOydtO2UhOudvOydtA0KICBkYXRhLnRhYmxlOjpzZXRuYW1lcygNCiAgICBvbGQgPSAiaWQiLA0KICAgIG5ldz0i7JWE7J2065SUICINCiAgKQ0KZGYuZXhhbQ0KDQpkZi5leGFtJHRvdGFsIDwtIGRmLmV4YW0kbWF0aCtkZi5leGFtJGVuZ2xpc2grZGYuZXhhbSRzY2llbmNlDQpkZi5leGFtIA0KDQoNCmRmLmV4YW0kbWVhbiA8LSBkZi5leGFtJHRvdGFsLzMNCmRmLmV4YW0gDQoNCmhpc3QoZGYuZXhhbSR0b3RhbCkNCmhpc3QoZGYuZXhhbSRtZWFuKQ0KaGlzdChkZi5leGFtJG1hdGgpDQojaWZlbHNlKCkNCmRmLmV4YW0kdGVzdCA8LSBpZmVsc2UoZGYuZXhhbSRtZWFuPj04MCwgIu2VqeqyqSIsIuu2iO2VqeqyqSIpDQpkZi5leGFtDQoNCiN0YWJsZSgpDQp0YWJsZShkZi5leGFtJG1lYW4pDQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QyOjpxcGxvdChkZi5leGFtJHRlc3QpDQpkZi5leGFtJGNsYXNzIDwtIGlmZWxzZShkZi5leGFtJG1lYW4+PTgwLCJBIiwNCiAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGRmLmV4YW0kbWVhbj49NzAsIkIiLCJDIikNCiAgICAgICAgICAgICAgICAgICAgKQ0KZGYuZXhhbQ0KZ2dwbG90Mjo6cXBsb3QoZGYuZXhhbSRjbGFzcykNCg0KIyMjIzTtlajsiJg6OmhlYWQgLHRhaWwsIHN0ciAsc3VtbWFyeQ0KaGVhZChkZi5tcGcpDQp0YWlsKGRmLm1wZykNCnN0cihkZi5tcGcpDQpzdW1tYXJ5KGRmLm1wZykNCiPrs4DsiJjrqoUg7IiY7KCVIA0KbGlicmFyeShkcGx5cikNCmRmLm1wZyAlPiUgICAjY3RybCtzaGlmdCttIO2MjOydtO2UhOudvOydtA0KICBkYXRhLnRhYmxlOjpzZXRuYW1lcygNCiAgICBvbGQgPSAibWFudWZhY3R1cmVyIiwibW9kZWwiLCJkaXNwbCIsInllYXIiLCJjeWwgIiwidHJhbnMiLCJkcnYiLCJjdHkiLCJod3kiLCJmbCIsImNsYXNzIiwNCiAgICBuZXc9IuygnOyhsO2ajOyCrCIsIuyekOuPmeywqOuqqOuNuCIsIuuwsOq4sOufiSIsIuyDneyCsOyXsOuPhCIsIuyLpOumsOuNlCDqsJzsiJgiLCLrs4Dsho3quLAg7KKF66WYIiwi6rWs64+Z67Cp7IudIiAgLCLrj4Tsi5zsl7DruYQgIiwi6rOg7IaN64+E66GcIOyXsOu5hCIsIuyXsOujjOyiheulmCIsIuyekOuPmeywqCDsooXrpZgiDQogICkNCmRmLm1wZw0KDQojIO2MjOyDneuzgOyImCDsg53shLEgDQpkZi5tcGckdG90YWwgPC0oZGYubXBnJGN0eStkZi5tcGckaHd5KSANCmRmLm1wZw0KZGYubXBnJG1lYW4gPC0gKGRmLm1wZyR0b3RhbCkvMg0KZGYubXBnDQpkZi5tcGckdGVzdCA8LSBpZmVsc2UoZGYubXBnJHRvdGFsPj00MCwgInBhc3MiLCJmYWlsIikNCmRmLm1wZw0KDQoj67mI64+EIO2ZleyduA0KdGFibGUoZGYubXBnJHRlc3QpDQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QyOjpxcGxvdChkZi5tcGckdGVzdCkNCg0KDQojIyMjI2RmLm1pZHdlc3QNCmxpYnJhcnkoZ2dwbG90MikNCmRmLm1pZHdlc3QgPC0gYXMuZGF0YS5mcmFtZShnZ3Bsb3QyOjptaWR3ZXN0KQ0KZGYubWlkd2VzdA0KaGVhZChkZi5taWR3ZXN0KQ0KdGFpbChkZi5taWR3ZXN0KQ0Kc3RyKGRmLm1pZHdlc3QpDQpzdW1tYXJ5KGRmLm1pZHdlc3QpDQoNCiPrs4DsiJgg7J2066aEIOyImOyglSDtlZjquLAgDQoNCmRmLm1pZHdlc3QgJT4lICAgIA0KICBkYXRhLnRhYmxlOjpzZXRuYW1lcygNCiAgICBvbGQgPSAicG9wdG90YWwiLCJwb3Bhc2lhbiIsDQogICAgbmV3PSJ0b3RhbCIsImFzaWFuIg0KKQ0KZGYubWlkd2VzdA0KDQojIO2MjOyDneuzgOyImCDsg53shLEgDQoNCmRmLm1pZHdlc3QkYWEgPC0gKGRmLm1pZHdlc3QkcG9wYXNpYW4vZGYubWlkd2VzdCRwb3B0b3RhbCkqMTAwDQpkZi5taWR3ZXN0DQpoaXN0KGRmLm1pZHdlc3QkYWEpDQptZWFuKGRmLm1pZHdlc3QkYWEpDQpkZi5taWR3ZXN0JHRlc3QgPC0gaWZlbHNlKGRmLm1pZHdlc3QkYWE+MC40ODcyNDYyLCJsYXJnZSIsInNtYWxsIikNCmRmLm1pZHdlc3QNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQojJ2RhdGEuZnJhbWUnOgkyMzQgb2JzLiBvZiAgMTEgdmFyaWFibGVzOg0KIyAgJCBtYW51ZmFjdHVyZXIo7KCc7KGw7ZqM7IKsKTogY2hyICAiYXVkaSIgImF1ZGkiICJhdWRpIiAiYXVkaSIgLi4uDQojJCBtb2RlbCAgKOyekOuPmeywqOuqqOuNuCApICAgICA6IGNociAgImE0IiAiYTQiICJhNCIgImE0IiAuLi4NCiMkIGRpc3BsICjrsLDquLDrn4kgKSAgICAgIDogbnVtICAxLjggMS44IDIgMiAyLjggMi44IDMuMSAxLjggMS44IDIgLi4uDQojJCB5ZWFyICAo7IOd7IKw7Jew64+EICkgICAgICA6IGludCAgMTk5OSAxOTk5IDIwMDggMjAwOCAxOTk5IDE5OTkgMjAwOCAxOTk5IDE5OTkgMjAwOCAuLi4NCiMkIGN5bCAgICAo7Iuk66aw642UIOqwnOyImCApICAgICA6IGludCAgNCA0IDQgNCA2IDYgNiA0IDQgNCAuLi4NCiMkIHRyYW5zICjrs4Dsho3quLAg7KKF66WYICkgICAgICA6IGNociAgImF1dG8obDUpIiAibWFudWFsKG01KSIgIm1hbnVhbChtNikiICJhdXRvKGF2KSIgLi4uDQojJCBkcnYgICjqtazrj5nrsKnsi50gKSAgICAgICA6IGNociAgImYiICJmIiAiZiIgImYiIC4uLg0KIyQgY3R5ICAo64+E7Iuc7Jew67mEICkgICAgICAgOiBpbnQgIDE4IDIxIDIwIDIxIDE2IDE4IDE4IDE4IDE2IDIwIC4uLg0KIyQgaHd5ICAo6rOg7IaN64+E66GcIOyXsOu5hCApICAgICAgIDogaW50ICAyOSAyOSAzMSAzMCAyNiAyNiAyNyAyNiAyNSAyOCAuLi4NCiMkIGZsICAgICAo7Jew66OM7KKF66WYICkgICAgIDogY2hyICAicCIgInAiICJwIiAicCIgLi4uDQojJCBjbGFzcyAgKOyekOuPmeywqCDsooXrpZggKSAgICAgOiBjaHIgICJjb21wYWN0IiAiY29tcGFjdCIgImNvbXBhY3QiICJjb21wYWN0IiAuLi4NCg0KDQojbWFudWZhY3R1cmVyICAgICAgICAgIG1vZGVsICAgICAgICAgIA0KI0xlbmd0aDoyMzQgICAgICAgICBMZW5ndGg6MjM0ICAgICAgICANCiNDbGFzcyA6Y2hhcmFjdGVyICAgQ2xhc3MgOmNoYXJhY3RlciAgDQojTW9kZSAgOmNoYXJhY3RlciAgIE1vZGUgIDpjaGFyYWN0ZXIgIA0KDQoNCiNtYW51ZmFjdHVyZXIgICAgICAgICAgbW9kZWwgICAgICAgICAgDQojTGVuZ3RoOjIzNCAgICAgICAgIExlbmd0aDoyMzQgICAgICAgIA0KI0NsYXNzIDpjaGFyYWN0ZXIgICBDbGFzcyA6Y2hhcmFjdGVyICANCiNNb2RlICA6Y2hhcmFjdGVyICAgTW9kZSAgOmNoYXJhY3RlciAgDQoNCg0KDQojZGlzcGwgICAgICAgICAgICB5ZWFyICAgICAgICAgICBjeWwgICAgICAgDQojTWluLiAgIDoxLjYwMCAgIE1pbi4gICA6MTk5OSAgIE1pbi4gICA6NC4wMDAgIA0KIzFzdCBRdS46Mi40MDAgICAxc3QgUXUuOjE5OTkgICAxc3QgUXUuOjQuMDAwICANCiNNZWRpYW4gOjMuMzAwICAgTWVkaWFuIDoyMDA0ICAgTWVkaWFuIDo2LjAwMCAgDQojTWVhbiAgIDozLjQ3MiAgIE1lYW4gICA6MjAwNCAgIE1lYW4gICA6NS44ODkgIA0KIzNyZCBRdS46NC42MDAgICAzcmQgUXUuOjIwMDggICAzcmQgUXUuOjguMDAwICANCiNNYXguICAgOjcuMDAwICAgTWF4LiAgIDoyMDA4ICAgTWF4LiAgIDo4LjAwMCAgDQojdHJhbnMgICAgICAgICAgICAgICBkcnYgICAgICAgICAgIA0KI0xlbmd0aDoyMzQgICAgICAgICBMZW5ndGg6MjM0ICAgICAgICANCiNDbGFzcyA6Y2hhcmFjdGVyICAgQ2xhc3MgOmNoYXJhY3RlciAgDQojTW9kZSAgOmNoYXJhY3RlciAgIE1vZGUgIDpjaGFyYWN0ZXIgIA0KDQoNCg0KI2N0eSAgICAgICAgICAgICBod3kgICAgICAgICAgICAgZmwgICAgICAgICAgIA0KI01pbi4gICA6IDkuMDAgICBNaW4uICAgOjEyLjAwICAgTGVuZ3RoOjIzNCAgICAgICAgDQojMXN0IFF1LjoxNC4wMCAgIDFzdCBRdS46MTguMDAgICBDbGFzcyA6Y2hhcmFjdGVyICANCiNNZWRpYW4gOjE3LjAwICAgTWVkaWFuIDoyNC4wMCAgIE1vZGUgIDpjaGFyYWN0ZXIgIA0KI01lYW4gICA6MTYuODYgICBNZWFuICAgOjIzLjQ0ICAgICAgICAgICAgICAgICAgICAgDQojM3JkIFF1LjoxOS4wMCAgIDNyZCBRdS46MjcuMDAgICAgICAgICAgICAgICAgICAgICANCiNNYXguICAgOjM1LjAwICAgTWF4LiAgIDo0NC4wMCAgICAgICAgICAgICAgICAgICAgIA0KI2NsYXNzICAgICAgICAgIA0KI0xlbmd0aDoyMzQgICAgICAgIA0KI0NsYXNzIDpjaGFyYWN0ZXIgIA0KI01vZGUgIDpjaGFyYWN0ZXIgIA0KDQoNCmBgYA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo=