Basic-grammar-in-R
1. R Studio 열고 R Markdown 클릭
2. 추출 방법: HTML, WORD 사용/ PDF는 한글 추출X
3. 저장 경로 확인
4. 저장 경로 새로 생성(한글 있으면 안됨) -> 워드로 추출
5. R Markdown 함수 확인
rmarkdown-cheatsheet (studylib.net)
rmarkdown-cheatsheet
Free essays, homework help, flashcards, research papers, book reports, term papers, history, science, politics
studylib.net
기본 문법
1. R에서 다음의 결과가 나오는 명령문을 만들고 결과를 보이시오.
1) [1] "E" "F" "E" "F" "E" "F" "E" "F" "E" "F"
> rep(c("E","F"),5)
[1] "E" "F" "E" "F" "E" "F" "E" "F" "E" "F"
2) [1] "a" "b" "b" "c" "c" "c" "d" "d" "d" "d" "e" "e" "e" "e" "e"
> rep(letters[1:5],1:5)
[1] "a" "b" "b" "c" "c" "c" "d" "d" "d" "d" "e" "e"
[13] "e" "e" "e"
3) [1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
[18] 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67
[35] 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
> seq(1,100,by=2)
[1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
[18] 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67
[35] 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
2. 다음과 같이 UsingR 패키지를 인스톨한 후 내장되어 있는 데이터셋 primes를 이용하여 답 하시오. primes는 1부터 2003까지의 소수들의 집합이다.
> library(UsingR)
> data(primes)
1) primes에는 몇 개의 소수가 있는가?
> length(primes)
[1] 304
2) 1부터 100까지는 몇 개의 소수가 있는가?
> primes<=100
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[9] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[17] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[25] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[33] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[41] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[57] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[65] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[81] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[89] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[113] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[129] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[137] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[153] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[161] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[185] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[193] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[201] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[225] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[233] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[249] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[257] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[273] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[281] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[297] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> primes[primes<=100]
[1] 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
[18] 61 67 71 73 79 83 89 97
> length(primes[primes<=100])
[1] 25
> sum(primes<=100)
[1] 25
3) 1부터 1000까지의 소수들의 평균은 얼마인가?
4) 1부터 1000까지의 소수들의 표준편차는 얼마인가?
> mean(primes[primes<=1000])
[1] 453.1369
> sd(primes[primes<=1000])
[1] 298.1924
5) 1000부터 2003 사이의 소수만을 포함하는 벡터 prime2를 만드시오
primes[primes >=1000 & primes <=2003]
[1] 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061
[11] 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123
[21] 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213
[31] 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283
[41] 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361
[51] 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439
[61] 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493
[71] 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571
[81] 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627
[91] 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721
[101] 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789
[111] 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877
[121] 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973
[131] 1979 1987 1993 1997 1999 2003
> primes2=primes[primes >=1000 & primes <=2003]
> primes2
[1] 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061
[11] 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123
[21] 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213
[31] 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283
[41] 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361
[51] 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439
[61] 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493
[71] 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571
[81] 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627
[91] 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721
[101] 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789
[111] 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877
[121] 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973
[131] 1979 1987 1993 1997 1999 2003
3. 다음의 데이터를 이용하여 1)~6)까지의 명령을 수행하시오.
-2 5 13 -9 -15 7 18 -34 15 -16
1) 데이터 벡터 Y를 만드시오.
2) 각 데이터의 절대값으로 구성된 벡터 Y2를 만드시오.
3) 각 데이터의 제곱의 합을 구하시오.
4) 각 데이터에서 10를 뺀 값들을 구하시오.
5) 벡터 Y2의 최소값과 최댓값을 구하시오.
6) 벡터 Y에서 0보다 큰 값들만으로 구성된 벡터 YLARGE를 만들고 결과를 보이시오
ggplot2 – part 1 확인학습 1. palmerpenguins library에는 에는 Antartica의 Palmer station근처에 서식하는 펭귄에 대한 자 료인 penguins가 내장되어 있다.
- 라이브러리 설치 후 불러오기
> library(palmerpenguins)
Warning message:
패키지 ‘palmerpenguins’는 R 버전 4.3.1에서 작성되었습니다
> ls(pos=1)
[1] "a" "A" "abs.r"
[4] "abs.r0" "abs.r1" "b"
[7] "B" "b2" "b5"
[10] "bc" "beta" "C"
[13] "cov.beta" "d" "Dx"
[16] "esti.95" "EY" "fi05"
[19] "fi05.lm" "fit" "fitted"
[22] "full" "H0.1" "H0.2"
[25] "H0.3" "H0.4" "H1.1"
[28] "H1.2" "H1.3" "H1.4"
[31] "lgd" "lm.ta01" "mse"
[34] "n" "new" "ord"
[37] "p1" "p2" "p22"
[40] "pred.95" "primes" "primes2"
[43] "resd" "se.X.h" "se.X.h.pred"
[46] "smaller" "sqrt.mse" "stan.reg"
[49] "state" "ta01" "ta08"
[52] "ta08.lm" "ta08.lm2" "ta305"
[55] "ta701" "ta701.s" "V"
[58] "x" "X" "X.h"
[61] "x1" "X123" "x2"
[64] "y" "Y.pred"
> ls(pos=2)
[1] "path_to_file" "penguins" "penguins_raw"
> ls(pos=3)
[1] "age.universe"
[2] "aid"
[3] "alaska.pipeline"
[4] "alltime.movies"
[5] "answers"
[6] "aosat"
[7] "arctic.oscillations"
[8] "babies"
[9] "babyboom"
[10] "batting"
[11] "baycheck"
[12] "best.times"
[13] "blood"
[14] "breakdown"
[15] "bright.stars"
[16] "brightness"
[17] "bumpers"
[18] "BushApproval"
[19] "bycatch"
[20] "cabinet"
[21] "camp"
[22] "cancer"
[23] "carbon"
[24] "carsafety"
[25] "central.park"
[26] "central.park.cloud"
[27] "ceo2013"
[28] "cfb"
[29] "chicken"
[30] "chips"
[31] "co2emiss"
[32] "coins"
[33] "coldvermont"
[34] "corn"
[35] "crime"
[36] "deflection"
[37] "DensityPlot"
[38] "diamond"
[39] "divorce"
[40] "DOTplot"
[41] "dottodot"
[42] "dowdata"
[43] "dvdsales"
[44] "emissions"
[45] "errata"
[46] "ewr"
[47] "exec.pay"
[48] "fat"
[49] "father.son"
[50] "female.inc"
[51] "firstchi"
[52] "five.yr.temperature"
[53] "florida"
[54] "galileo"
[55] "galton"
[56] "gap"
[57] "gasprices"
[58] "getAnswer"
[59] "goalspergame"
[60] "google"
[61] "grades"
[62] "grip"
[63] "hall.fame"
[64] "headtail"
[65] "healthy"
[66] "heartrate"
[67] "home"
[68] "homedata"
[69] "homeprice"
[70] "homework"
[71] "HUMMER"
[72] "income_percentiles"
[73] "iq"
[74] "kid.weights"
[75] "KSI"
[76] "last.tie"
[77] "lawsuits"
[78] "lorem"
[79] "malpract"
[80] "mandms"
[81] "math"
[82] "maydow"
[83] "Medicare"
[84] "midsize"
[85] "MLBattend"
[86] "movie_data_2011"
[87] "movies"
[88] "mw.ages"
[89] "nba.draft"
[90] "nisdc"
[91] "normtemp"
[92] "npdb"
[93] "nym.2002"
[94] "ObamaApproval"
[95] "OBP"
[96] "oral.lesion"
[97] "ozonemonthly"
[98] "paradise"
[99] "pi2000"
[100] "primes"
[101] "puerto"
[102] "QQplot"
[103] "rat"
[104] "reaction.time"
[105] "reddrum"
[106] "salmon.rate"
[107] "salmonharvest"
[108] "samhda"
[109] "SAT"
[110] "scatter.with.hist"
[111] "scrabble"
[112] "simple.chutes"
[113] "simple.densityplot"
[114] "simple.eda"
[115] "simple.eda.ts"
[116] "simple.fancy.stripchart"
[117] "simple.freqpoly"
[118] "simple.hist.and.boxplot"
[119] "simple.lag"
[120] "simple.lm"
[121] "simple.median.test"
[122] "simple.scatterplot"
[123] "simple.sim"
[124] "simple.violinplot"
[125] "simple.z.test"
[126] "skateranks"
[127] "slc"
[128] "smokyph"
[129] "snacks"
[130] "south"
[131] "southernosc"
[132] "sp500.excess"
[133] "Split.zoo"
[134] "squareplot"
[135] "stud.recs"
[136] "student.expenses"
[137] "superbarplot"
[138] "tastesgreat"
[139] "tcm1y"
[140] "tempsalinity"
[141] "too.young"
[142] "twins"
[143] "u2"
[144] "urchin.growth"
[145] "vacation"
[146] "violinplot"
[147] "watertemp"
[148] "wchomes"
[149] "wellbeing"
[150] "yellowfin"
> data("penguins")
> penguins
# A tibble: 344 × 8
species island bill_length_mm bill_depth_mm
<fct> <fct> <dbl> <dbl>
1 Adelie Torgersen 39.1 18.7
2 Adelie Torgersen 39.5 17.4
3 Adelie Torgersen 40.3 18
4 Adelie Torgersen NA NA
5 Adelie Torgersen 36.7 19.3
6 Adelie Torgersen 39.3 20.6
7 Adelie Torgersen 38.9 17.8
8 Adelie Torgersen 39.2 19.6
9 Adelie Torgersen 34.1 18.1
10 Adelie Torgersen 42 20.2
# ℹ 334 more rows
# ℹ 4 more variables: flipper_length_mm <int>,
# body_mass_g <int>, sex <fct>, year <int>
# ℹ Use `print(n = ...)` to see more rows
1) penguins 자료의 개수는?
> nrow(penguins)
[1] 344
2) penguins 자료에는 어떤 변수들이 있는가?
- 컬럼 이름 확인
> colnames(penguins)
[1] "species" "island"
[3] "bill_length_mm" "bill_depth_mm"
[5] "flipper_length_mm" "body_mass_g"
[7] "sex" "year"
3) species는 어떤 것들이 있으며 각각 몇 개의 자료가 있는가?
> table(penguins$species)
Adelie Chinstrap Gentoo
152 68 124
4) penguins 자료에 있는 4개의 연속변수 각각의 분포를 수업시간에 배운 내용을 바탕으로 살펴보시요.
> library(ggplot2)
> ggplot(penguins,aes(bill_length_mm))+geom_histogram()
`stat_bin()` using `bins = 30`. Pick better value with
`binwidth`.
Warning message:
Removed 2 rows containing non-finite values
(`stat_bin()`).
5) bill_length_mm과 flipper_length_mm의 산점도를 그리시오.
> library(ggplot2)
Warning message:
패키지 ‘ggplot2’는 R 버전 4.3.1에서 작성되었습니다
> ggplot(penguins,aes(bill_length_mm))+geom_freqpoly()
`stat_bin()` using `bins = 30`. Pick better value with
`binwidth`.
Warning message:
Removed 2 rows containing non-finite values
(`stat_bin()`).
> # desity 는 한개의 변수로 나타낼 수 있다.
6) 5)에서 그린 산점도에 species 별로 다른 색을 칠하고 Species가 구별되는지 살펴보시오.
#산점도는 두개의 변수를 갖고 작업하는 것이다.
ggplot(penguins,aes(bill_length_mm,flipper_length_mm))+geom_point()
ggplot(penguins,aes(x=bill_length_mm,y=flipper_length_mm, color=species))+geom_point()
7) 산점도를 Species별로 나누어서 그려보시오.
ggplot(penguins,aes(x=bill_length_mm,y=flipper_length_mm, color=species))+geom_point()+facet_wrap(~species)
8) 나머지 변수들도 같은 방식으로 자유롭게 살펴보시오