21.3.27 / R / 강의 수강 및 실습

pjk·2021년 3월 27일
0

[매일코딩 스터디]

목록 보기
46/62

Today

강의

R 프로그램, 통계 16강 까지

스터디 내용

13. 문자, 문자열, character, string2

hi <- paste('hi', 'jack') # 두 문자 붙임
hi

paste("jac","k",sep="___")

hi

paste(hi, "what's up?", sep = ", ")

paste("1", 1:10, sep = "-")

a <- paste("The value of 'pi' is",pi, "endless!!!")

noquote(a) # " " 삭제

print(a, quote = FALSE) # " " 삭제

cars <- rownames(mtcars) # 앞 제목들만 가져옴
colnames(mtcars) # column names

nchar(cars) # 문자열 길이 세줌

longname <- cars[which(nchar(cars)==max(nchar(cars)))] # 인덱싱
noquote(longname)

14. 문자, 문자열, character, string3

grep("[vV]", cars, value = TRUE) # 특정 문자를 가진 열을 불러내는 함수, 대소문자 구분됨
grep('t', tolower(cars), value=TRUE) # tolower 소문자로 변경 <-> toupper

grep('toyota', tolower(cars), value = TRUE)

install.packages("stringr")
library(stringr)

cars
str_count(cars, "t") # 각 값들이 t를 몇개 갖고 있는지 찾아줌
str_count(cars, "o")

sum(str_count(toupper(cars), 'TOYOTA')) # 모델 개수 찾을 수 있음

15. pnorm, qnorm, 정규분포, normal distribution

normal distribution mean = 80, sd = 10

x <- seq(40, 120, length = 300) # 40 - 120 까지 300개가 나오게 쪼갬, x 값 정하기
x

y <- dnorm(x, mean = 80, sd = 10)

plot(x,y, type = "l", col = 'red')

lines(x, dnorm(x, mean = 80, sd = 20), col='blue')

a.probability between 65-75

pnorm # 정규분포 구간의 넓이, 확률 값 (밀도함수 적분)

pnorm(75, mean = 80, sd = 10) - pnorm(65, mean=80, sd = 10)


qnorm # x 값을 구함 (퍼센타일)
dnorm # 점의 위치를 표현 (그래프 그려줌)
rnorm # 난수 발생

b.probability of over 92

1 - pnorm(92, mean = 80, sd = 10)

c.prb of less than 68

pnorm(68, mean = 80, sd = 10)

d.cutoff that separates the bottom 30%

qnorm(0.3, mean = 80, sd = 10)

e.80th percentile

qnorm(0.8, mean = 80, sd = 10)

f.cutoffs that contain the middle 60%

qnorm(0.8, mean = 80, sd = 10)
qnorm(0.2, mean = 80, sd = 10)

16. string2, 문자열2, 문자순서 바꾸기 함수, reverse function

strsplit('qpefadsfjpqjfqjweoipjfi', split = 'w') # str.split
strsplit('how are you?', split = ' ')
a <- strsplit('how are you?', split = '') # 하나 하나 모두 쪼개짐
class(a)
a[[1]]

paste(a[[1]], collapse = "") # collapse 하나 하나 붙여줌

reversed <- a[[1]][12:1] # how are you? 거꾸로
reversed

paste(reversed, collapse = "")

rev_myf <- function(string){
  a <- strsplit(string, split = '') # 하나 하나 모두 쪼개짐
  reversed <- a[[1]][nchar(string):1]
  paste(reversed, collapse = "")
}

rev_myf("how are you?, Jack, emily")


string = c("how are you","hi")
length(string) # 2 각 벡터들의 갯수
nchar(string) # 11 2 문자 갯수

rev_myf(rev_myf("how are you?, Jack, emily")) # 원 상태로

Tomorrow

  • 매일 1시간 정도 R 강의 수강 및 실습 진행

Summary

  • 빠르게 진도 나가고 계속 반복해야겠다.
profile
성장

0개의 댓글