성적표 정형화

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
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQrshLHsoIHtkZwg7KCV7ZiV7ZmUIA0KDQpgYGB7cn0NCnZlYy5uYW1lIDwtIGMoIuq5gOyngO2biCAiLCAi7J207Jyg7KeEICIsICLrsJXrj5ntmIQgIiwi6rmA66+87KeAICIpDQojdmVjLm5hbWUgPC0gYygiYSAiLCAiYiAiLCAiYyAiLCJkICIpDQp2ZWMubmFtZQ0KdmVjLmVuZ2xpc2ggPC0gYyg5MCAsIDgwICwgNjAgLCA3MCkNCnZlYy5lbmdsaXNoDQp2ZWMubWF0aCA8LSBjKDUwLDYwLDEwMCwyMCkNCnZlYy5tYXRoDQp2ZWMuY2xhc3MgPC0gYygxLDEsMiwyKQ0KZGZfc2NvcmUgPC0gZGF0YS5mcmFtZSh2ZWMubmFtZSx2ZWMuZW5nbGlzaCx2ZWMubWF0aCx2ZWMuY2xhc3MpDQpkZl9zY29yZQ0KDQppZCA8LSBjKDE6MTApDQppZA0KY2xhc3MgPC0gYygxLDEsMSwxLDEsMiwyLDIsMiwyKQ0KY2xhc3MNCm1hdGggPC0gYyg1MCw2MCw0NSwzMCwyNSw1MCw2Nyw5MCw4Nyw3NykNCm1hdGgNCmVuZ2xpc2ggPC0gYyg5OCw5Nyw4Niw5OCw4MCw4OSw1MCw2Nyw5MCw4NykNCmVuZ2xpc2gNCnNjaWVuY2UgPC0gYyg1MCw2MCw3OCw1OCw2NSw5OCw1MCw2Nyw5MCw4NykNCnNjaWVuY2UNCmRmLmV4YW0gPC0gZGF0YS5mcmFtZShpZCxjbGFzcyxtYXRoICxlbmdsaXNoLHNjaWVuY2UpDQpkZi5leGFtDQoj7KO87ISdIDrsoITssrTtlZnsg53soJDsiJgg67O06riwIA0KZGYuZXhhbQ0KI27rsojsp7ggcm936rmM7KeA66eMIOuztOyXrOyjvOq4sCBoZWFkKGRmLG4pKOyekOyjvCDsgqzsmqnrkKgpDQpoZWFkKGRmLmV4YW0sOCkNCiPrsJHsl5DshJwgbuuyiOynuCByb3fquYzsp4Drp4wg67O07Jes7KO86riwIHRhaWwoZGYsbikNCnRhaWwoZGYuZXhhbSw4KQ0KI+u3sOyWtOywveyXkOyEnCBkZu2ZleyduCBWaWV3KGRmKSogdmlld+ydmCB264qUIOuMgOusuOyekOydtOuLpC4NClZpZXcoZGYuZXhhbSkNCiNkZiwgcm93Y291bnQsY29sIGNvdW50DQpkaW0oZGYuZXhhbSkNCiNzdHIoKXN0cnVjcmXrpbwg64KY7YOA64K064qUIO2VqOyImCAo7J6Q7KO8IOyCrOyaqeuQqCkgDQpzdHIoZGYuZXhhbSkNCiNzdW1tYXJ5KCkg7JqU7JW9DQpzdW1tYXJ5KGRmLmV4YW0pDQojcGFja2FnZQ0KI2luc3RhbGwucGFja2FnZXMoImdncGxvdDIiKSAj7KCE7LK0IO2UjOygneycvOuhnCDrtojrn6zsmKTripDqsoMgDQojbGlicmFyeShnZ3Bsb3QyKSAgI+ydtCDtjIzsnbzroZwg67aI66Gc7Jik64qUIOqygyANCiNkZi5tcGcgPC0gYXMuZGF0YS5mcmFtZShnZ3Bsb3QyOjptcGcpDQojZGYubXBnZGYNCg0KZGYuZXhhbSAlPiUgICNjdHJsK3NoaWZ0K20g7YyM7J207ZSE65287J20DQogIGRhdGEudGFibGU6OnNldG5hbWVzKA0KICApDQppZigiZHBseXIiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCJkcGx5ciIpID09IEZBTFNFKWluc3RhbGwucGFja2FnZXMoImRwbHlyIikNCmxpYnJhcnkoZHBseXIpDQpkZi5leGFtICU+JSAgICNjdHJsK3NoaWZ0K20g7YyM7J207ZSE65287J20DQogIGRhdGEudGFibGU6OnNldG5hbWVzKA0KICAgIG9sZCA9ICJpZCIsDQogICAgbmV3PSLslYTsnbTrlJQgIg0KICApDQpkZi5leGFtDQoNCmRmLmV4YW0kdG90YWwgPC0gZGYuZXhhbSRtYXRoK2RmLmV4YW0kZW5nbGlzaCtkZi5leGFtJHNjaWVuY2UNCmRmLmV4YW0gDQoNCg0KZGYuZXhhbSRtZWFuIDwtIGRmLmV4YW0kdG90YWwvMw0KZGYuZXhhbSANCg0KaGlzdChkZi5leGFtJHRvdGFsKQ0KaGlzdChkZi5leGFtJG1lYW4pDQpoaXN0KGRmLmV4YW0kbWF0aCkNCiNpZmVsc2UoKQ0KZGYuZXhhbSR0ZXN0IDwtIGlmZWxzZShkZi5leGFtJG1lYW4+PTgwLCAi7ZWp6rKpIiwi67aI7ZWp6rKpIikNCmRmLmV4YW0NCg0KYGBgDQoNCg==