{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "56c94857",
"metadata": {},
"outputs": [],
"source": [
"# install.packages('plyr')\n",
"library(plyr)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "dd1b6f7d",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"A data.frame: 9 × 5\n",
"\n",
"\t학년 | 과목 | 결과 | 중간 | 기말 |
\n",
"\t<chr> | <chr> | <chr> | <int> | <int> |
\n",
"\n",
"\n",
"\t1학년 | 국어 | 좋음 | 80 | 90 |
\n",
"\t1학년 | 국어 | 나쁨 | 50 | 40 |
\n",
"\t1학년 | 국어 | 나쁨 | 20 | 50 |
\n",
"\t1학년 | 수학 | 좋음 | 83 | 95 |
\n",
"\t1학년 | 수학 | 좋음 | 93 | 86 |
\n",
"\t2학년 | 국어 | 나쁨 | 44 | 65 |
\n",
"\t2학년 | 국어 | 좋음 | 95 | 98 |
\n",
"\t2학년 | 수학 | 좋음 | 96 | 99 |
\n",
"\t2학년 | 수학 | 나쁨 | 57 | 69 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 9 × 5\n",
"\\begin{tabular}{lllll}\n",
" 학년 & 과목 & 결과 & 중간 & 기말\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t 1학년 & 국어 & 좋음 & 80 & 90\\\\\n",
"\t 1학년 & 국어 & 나쁨 & 50 & 40\\\\\n",
"\t 1학년 & 국어 & 나쁨 & 20 & 50\\\\\n",
"\t 1학년 & 수학 & 좋음 & 83 & 95\\\\\n",
"\t 1학년 & 수학 & 좋음 & 93 & 86\\\\\n",
"\t 2학년 & 국어 & 나쁨 & 44 & 65\\\\\n",
"\t 2학년 & 국어 & 좋음 & 95 & 98\\\\\n",
"\t 2학년 & 수학 & 좋음 & 96 & 99\\\\\n",
"\t 2학년 & 수학 & 나쁨 & 57 & 69\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 9 × 5\n",
"\n",
"| 학년 <chr> | 과목 <chr> | 결과 <chr> | 중간 <int> | 기말 <int> |\n",
"|---|---|---|---|---|\n",
"| 1학년 | 국어 | 좋음 | 80 | 90 |\n",
"| 1학년 | 국어 | 나쁨 | 50 | 40 |\n",
"| 1학년 | 국어 | 나쁨 | 20 | 50 |\n",
"| 1학년 | 수학 | 좋음 | 83 | 95 |\n",
"| 1학년 | 수학 | 좋음 | 93 | 86 |\n",
"| 2학년 | 국어 | 나쁨 | 44 | 65 |\n",
"| 2학년 | 국어 | 좋음 | 95 | 98 |\n",
"| 2학년 | 수학 | 좋음 | 96 | 99 |\n",
"| 2학년 | 수학 | 나쁨 | 57 | 69 |\n",
"\n"
],
"text/plain": [
" 학년 과목 결과 중간 기말\n",
"1 1학년 국어 좋음 80 90 \n",
"2 1학년 국어 나쁨 50 40 \n",
"3 1학년 국어 나쁨 20 50 \n",
"4 1학년 수학 좋음 83 95 \n",
"5 1학년 수학 좋음 93 86 \n",
"6 2학년 국어 나쁨 44 65 \n",
"7 2학년 국어 좋음 95 98 \n",
"8 2학년 수학 좋음 96 99 \n",
"9 2학년 수학 나쁨 57 69 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"gradeDF = read.csv('grade.csv',sep = \",\")\n",
"gradeDF"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "06c772ca",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"618"
],
"text/latex": [
"618"
],
"text/markdown": [
"618"
],
"text/plain": [
"[1] 618"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sum( gradeDF$중간 )"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4c3d3821",
"metadata": {},
"outputs": [],
"source": [
"## 학년별 중간고사의 총합\n",
"## ~별 집계"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8e365fbc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 2\n",
"\n",
"\t학년 | 학년별중간총합 |
\n",
"\t<chr> | <int> |
\n",
"\n",
"\n",
"\t1학년 | 326 |
\n",
"\t2학년 | 292 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 2\n",
"\\begin{tabular}{ll}\n",
" 학년 & 학년별중간총합\\\\\n",
" & \\\\\n",
"\\hline\n",
"\t 1학년 & 326\\\\\n",
"\t 2학년 & 292\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 2\n",
"\n",
"| 학년 <chr> | 학년별중간총합 <int> |\n",
"|---|---|\n",
"| 1학년 | 326 |\n",
"| 2학년 | 292 |\n",
"\n"
],
"text/plain": [
" 학년 학년별중간총합\n",
"1 1학년 326 \n",
"2 2학년 292 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ddply( gradeDF, \"학년\", summarise , 학년별중간총합=sum(중간) )"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "04693a7a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"\t학년 | 중간총합 | 중간평균 |
\n",
"\t<chr> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t1학년 | 326 | 65.2 |
\n",
"\t2학년 | 292 | 73.0 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 3\n",
"\\begin{tabular}{lll}\n",
" 학년 & 중간총합 & 중간평균\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 1학년 & 326 & 65.2\\\\\n",
"\t 2학년 & 292 & 73.0\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"| 학년 <chr> | 중간총합 <int> | 중간평균 <dbl> |\n",
"|---|---|---|\n",
"| 1학년 | 326 | 65.2 |\n",
"| 2학년 | 292 | 73.0 |\n",
"\n"
],
"text/plain": [
" 학년 중간총합 중간평균\n",
"1 1학년 326 65.2 \n",
"2 2학년 292 73.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ddply( gradeDF, \"학년\", summarise , 중간총합=sum(중간),중간평균=mean(중간) )"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "6f05b02b",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"\t학년 | 기말평균 | 중간평균 |
\n",
"\t<chr> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t1학년 | 72.20 | 65.2 |
\n",
"\t2학년 | 82.75 | 73.0 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 3\n",
"\\begin{tabular}{lll}\n",
" 학년 & 기말평균 & 중간평균\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 1학년 & 72.20 & 65.2\\\\\n",
"\t 2학년 & 82.75 & 73.0\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"| 학년 <chr> | 기말평균 <dbl> | 중간평균 <dbl> |\n",
"|---|---|---|\n",
"| 1학년 | 72.20 | 65.2 |\n",
"| 2학년 | 82.75 | 73.0 |\n",
"\n"
],
"text/plain": [
" 학년 기말평균 중간평균\n",
"1 1학년 72.20 65.2 \n",
"2 2학년 82.75 73.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ddply( gradeDF, \"학년\", summarise , 기말평균=mean(기말),\n",
" 중간평균=mean(중간) )"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "78d9b1f4",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 9 × 7\n",
"\n",
"\t학년 | 과목 | 결과 | 중간 | 기말 | 기말평균 | 중간평균 |
\n",
"\t<chr> | <chr> | <chr> | <int> | <int> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t1학년 | 국어 | 좋음 | 80 | 90 | 72.20 | 65.2 |
\n",
"\t1학년 | 국어 | 나쁨 | 50 | 40 | 72.20 | 65.2 |
\n",
"\t1학년 | 국어 | 나쁨 | 20 | 50 | 72.20 | 65.2 |
\n",
"\t1학년 | 수학 | 좋음 | 83 | 95 | 72.20 | 65.2 |
\n",
"\t1학년 | 수학 | 좋음 | 93 | 86 | 72.20 | 65.2 |
\n",
"\t2학년 | 국어 | 나쁨 | 44 | 65 | 82.75 | 73.0 |
\n",
"\t2학년 | 국어 | 좋음 | 95 | 98 | 82.75 | 73.0 |
\n",
"\t2학년 | 수학 | 좋음 | 96 | 99 | 82.75 | 73.0 |
\n",
"\t2학년 | 수학 | 나쁨 | 57 | 69 | 82.75 | 73.0 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 9 × 7\n",
"\\begin{tabular}{lllllll}\n",
" 학년 & 과목 & 결과 & 중간 & 기말 & 기말평균 & 중간평균\\\\\n",
" & & & & & & \\\\\n",
"\\hline\n",
"\t 1학년 & 국어 & 좋음 & 80 & 90 & 72.20 & 65.2\\\\\n",
"\t 1학년 & 국어 & 나쁨 & 50 & 40 & 72.20 & 65.2\\\\\n",
"\t 1학년 & 국어 & 나쁨 & 20 & 50 & 72.20 & 65.2\\\\\n",
"\t 1학년 & 수학 & 좋음 & 83 & 95 & 72.20 & 65.2\\\\\n",
"\t 1학년 & 수학 & 좋음 & 93 & 86 & 72.20 & 65.2\\\\\n",
"\t 2학년 & 국어 & 나쁨 & 44 & 65 & 82.75 & 73.0\\\\\n",
"\t 2학년 & 국어 & 좋음 & 95 & 98 & 82.75 & 73.0\\\\\n",
"\t 2학년 & 수학 & 좋음 & 96 & 99 & 82.75 & 73.0\\\\\n",
"\t 2학년 & 수학 & 나쁨 & 57 & 69 & 82.75 & 73.0\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 9 × 7\n",
"\n",
"| 학년 <chr> | 과목 <chr> | 결과 <chr> | 중간 <int> | 기말 <int> | 기말평균 <dbl> | 중간평균 <dbl> |\n",
"|---|---|---|---|---|---|---|\n",
"| 1학년 | 국어 | 좋음 | 80 | 90 | 72.20 | 65.2 |\n",
"| 1학년 | 국어 | 나쁨 | 50 | 40 | 72.20 | 65.2 |\n",
"| 1학년 | 국어 | 나쁨 | 20 | 50 | 72.20 | 65.2 |\n",
"| 1학년 | 수학 | 좋음 | 83 | 95 | 72.20 | 65.2 |\n",
"| 1학년 | 수학 | 좋음 | 93 | 86 | 72.20 | 65.2 |\n",
"| 2학년 | 국어 | 나쁨 | 44 | 65 | 82.75 | 73.0 |\n",
"| 2학년 | 국어 | 좋음 | 95 | 98 | 82.75 | 73.0 |\n",
"| 2학년 | 수학 | 좋음 | 96 | 99 | 82.75 | 73.0 |\n",
"| 2학년 | 수학 | 나쁨 | 57 | 69 | 82.75 | 73.0 |\n",
"\n"
],
"text/plain": [
" 학년 과목 결과 중간 기말 기말평균 중간평균\n",
"1 1학년 국어 좋음 80 90 72.20 65.2 \n",
"2 1학년 국어 나쁨 50 40 72.20 65.2 \n",
"3 1학년 국어 나쁨 20 50 72.20 65.2 \n",
"4 1학년 수학 좋음 83 95 72.20 65.2 \n",
"5 1학년 수학 좋음 93 86 72.20 65.2 \n",
"6 2학년 국어 나쁨 44 65 82.75 73.0 \n",
"7 2학년 국어 좋음 95 98 82.75 73.0 \n",
"8 2학년 수학 좋음 96 99 82.75 73.0 \n",
"9 2학년 수학 나쁨 57 69 82.75 73.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ddply( gradeDF, \"학년\", transform , 기말평균=mean(기말),\n",
" 중간평균=mean(중간) )"
]
},
{
"cell_type": "markdown",
"id": "f22871ab",
"metadata": {},
"source": [
"### data.table 패키지:빠른 검색 및 연산을 위해"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "c92496b4",
"metadata": {},
"outputs": [],
"source": [
"\n",
"# install.packages(\"data.table\")\n",
"# data.table 패키지 로드\n",
"library(data.table)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "221ce03e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"- 1
- 1
- 1
- 1
- 2
- 2
- 2
- 2
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 1\n",
"\\item 1\n",
"\\item 1\n",
"\\item 1\n",
"\\item 2\n",
"\\item 2\n",
"\\item 2\n",
"\\item 2\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 1\n",
"2. 1\n",
"3. 1\n",
"4. 1\n",
"5. 2\n",
"6. 2\n",
"7. 2\n",
"8. 2\n",
"\n",
"\n"
],
"text/plain": [
"[1] 1 1 1 1 2 2 2 2"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# rep( c(1,2), each=4)\n",
"rep( 1:2, each=4)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "8d386848",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"- 0.224755006842315
- 0.117383625824004
- 0.0607440574094653
- 0.399846269516274
- 0.935898294905201
- 0.389705110341311
- 0.703204808756709
- 0.329415668500587
- 0.668128244578838
- 0.40226321015507
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 0.224755006842315\n",
"\\item 0.117383625824004\n",
"\\item 0.0607440574094653\n",
"\\item 0.399846269516274\n",
"\\item 0.935898294905201\n",
"\\item 0.389705110341311\n",
"\\item 0.703204808756709\n",
"\\item 0.329415668500587\n",
"\\item 0.668128244578838\n",
"\\item 0.40226321015507\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 0.224755006842315\n",
"2. 0.117383625824004\n",
"3. 0.0607440574094653\n",
"4. 0.399846269516274\n",
"5. 0.935898294905201\n",
"6. 0.389705110341311\n",
"7. 0.703204808756709\n",
"8. 0.329415668500587\n",
"9. 0.668128244578838\n",
"10. 0.40226321015507\n",
"\n",
"\n"
],
"text/plain": [
" [1] 0.22475501 0.11738363 0.06074406 0.39984627 0.93589829 0.38970511\n",
" [7] 0.70320481 0.32941567 0.66812824 0.40226321"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"runif(10) #0~1"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "f06c2edf",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 48000000 × 3\n",
"\n",
"\tyear | month | value |
\n",
"\t<int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t2012 | 1 | 0.148587166 |
\n",
"\t2012 | 1 | 0.120807876 |
\n",
"\t2012 | 1 | 0.614667156 |
\n",
"\t2012 | 1 | 0.369752258 |
\n",
"\t2012 | 1 | 0.121346171 |
\n",
"\t2012 | 1 | 0.330971396 |
\n",
"\t2012 | 1 | 0.430804984 |
\n",
"\t2012 | 1 | 0.404022953 |
\n",
"\t2012 | 1 | 0.110875000 |
\n",
"\t2012 | 1 | 0.058353487 |
\n",
"\t2012 | 1 | 0.548125013 |
\n",
"\t2012 | 1 | 0.880323602 |
\n",
"\t2012 | 1 | 0.288738890 |
\n",
"\t2012 | 1 | 0.285392462 |
\n",
"\t2012 | 1 | 0.374811831 |
\n",
"\t2012 | 1 | 0.749654097 |
\n",
"\t2012 | 1 | 0.172379978 |
\n",
"\t2012 | 1 | 0.978577142 |
\n",
"\t2012 | 1 | 0.003234281 |
\n",
"\t2012 | 1 | 0.340910906 |
\n",
"\t2012 | 1 | 0.539662852 |
\n",
"\t2012 | 1 | 0.717013638 |
\n",
"\t2012 | 1 | 0.663325960 |
\n",
"\t2012 | 1 | 0.291598458 |
\n",
"\t2012 | 1 | 0.671761449 |
\n",
"\t2012 | 1 | 0.660027135 |
\n",
"\t2012 | 1 | 0.660373735 |
\n",
"\t2012 | 1 | 0.075242785 |
\n",
"\t2012 | 1 | 0.901147913 |
\n",
"\t2012 | 1 | 0.770226452 |
\n",
"\t⋮ | ⋮ | ⋮ |
\n",
"\t2015 | 12 | 0.61829935 |
\n",
"\t2015 | 12 | 0.44962131 |
\n",
"\t2015 | 12 | 0.67894544 |
\n",
"\t2015 | 12 | 0.64179103 |
\n",
"\t2015 | 12 | 0.11911344 |
\n",
"\t2015 | 12 | 0.15315501 |
\n",
"\t2015 | 12 | 0.23582180 |
\n",
"\t2015 | 12 | 0.45141104 |
\n",
"\t2015 | 12 | 0.90477649 |
\n",
"\t2015 | 12 | 0.79977698 |
\n",
"\t2015 | 12 | 0.01873635 |
\n",
"\t2015 | 12 | 0.58248145 |
\n",
"\t2015 | 12 | 0.86048586 |
\n",
"\t2015 | 12 | 0.90103968 |
\n",
"\t2015 | 12 | 0.24180188 |
\n",
"\t2015 | 12 | 0.78979839 |
\n",
"\t2015 | 12 | 0.91914455 |
\n",
"\t2015 | 12 | 0.69111798 |
\n",
"\t2015 | 12 | 0.79319777 |
\n",
"\t2015 | 12 | 0.27779073 |
\n",
"\t2015 | 12 | 0.83058309 |
\n",
"\t2015 | 12 | 0.47284926 |
\n",
"\t2015 | 12 | 0.05467489 |
\n",
"\t2015 | 12 | 0.68336921 |
\n",
"\t2015 | 12 | 0.26228639 |
\n",
"\t2015 | 12 | 0.76498672 |
\n",
"\t2015 | 12 | 0.06769938 |
\n",
"\t2015 | 12 | 0.04222815 |
\n",
"\t2015 | 12 | 0.16744077 |
\n",
"\t2015 | 12 | 0.18254357 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 48000000 × 3\n",
"\\begin{tabular}{lll}\n",
" year & month & value\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 2012 & 1 & 0.148587166\\\\\n",
"\t 2012 & 1 & 0.120807876\\\\\n",
"\t 2012 & 1 & 0.614667156\\\\\n",
"\t 2012 & 1 & 0.369752258\\\\\n",
"\t 2012 & 1 & 0.121346171\\\\\n",
"\t 2012 & 1 & 0.330971396\\\\\n",
"\t 2012 & 1 & 0.430804984\\\\\n",
"\t 2012 & 1 & 0.404022953\\\\\n",
"\t 2012 & 1 & 0.110875000\\\\\n",
"\t 2012 & 1 & 0.058353487\\\\\n",
"\t 2012 & 1 & 0.548125013\\\\\n",
"\t 2012 & 1 & 0.880323602\\\\\n",
"\t 2012 & 1 & 0.288738890\\\\\n",
"\t 2012 & 1 & 0.285392462\\\\\n",
"\t 2012 & 1 & 0.374811831\\\\\n",
"\t 2012 & 1 & 0.749654097\\\\\n",
"\t 2012 & 1 & 0.172379978\\\\\n",
"\t 2012 & 1 & 0.978577142\\\\\n",
"\t 2012 & 1 & 0.003234281\\\\\n",
"\t 2012 & 1 & 0.340910906\\\\\n",
"\t 2012 & 1 & 0.539662852\\\\\n",
"\t 2012 & 1 & 0.717013638\\\\\n",
"\t 2012 & 1 & 0.663325960\\\\\n",
"\t 2012 & 1 & 0.291598458\\\\\n",
"\t 2012 & 1 & 0.671761449\\\\\n",
"\t 2012 & 1 & 0.660027135\\\\\n",
"\t 2012 & 1 & 0.660373735\\\\\n",
"\t 2012 & 1 & 0.075242785\\\\\n",
"\t 2012 & 1 & 0.901147913\\\\\n",
"\t 2012 & 1 & 0.770226452\\\\\n",
"\t ⋮ & ⋮ & ⋮\\\\\n",
"\t 2015 & 12 & 0.61829935\\\\\n",
"\t 2015 & 12 & 0.44962131\\\\\n",
"\t 2015 & 12 & 0.67894544\\\\\n",
"\t 2015 & 12 & 0.64179103\\\\\n",
"\t 2015 & 12 & 0.11911344\\\\\n",
"\t 2015 & 12 & 0.15315501\\\\\n",
"\t 2015 & 12 & 0.23582180\\\\\n",
"\t 2015 & 12 & 0.45141104\\\\\n",
"\t 2015 & 12 & 0.90477649\\\\\n",
"\t 2015 & 12 & 0.79977698\\\\\n",
"\t 2015 & 12 & 0.01873635\\\\\n",
"\t 2015 & 12 & 0.58248145\\\\\n",
"\t 2015 & 12 & 0.86048586\\\\\n",
"\t 2015 & 12 & 0.90103968\\\\\n",
"\t 2015 & 12 & 0.24180188\\\\\n",
"\t 2015 & 12 & 0.78979839\\\\\n",
"\t 2015 & 12 & 0.91914455\\\\\n",
"\t 2015 & 12 & 0.69111798\\\\\n",
"\t 2015 & 12 & 0.79319777\\\\\n",
"\t 2015 & 12 & 0.27779073\\\\\n",
"\t 2015 & 12 & 0.83058309\\\\\n",
"\t 2015 & 12 & 0.47284926\\\\\n",
"\t 2015 & 12 & 0.05467489\\\\\n",
"\t 2015 & 12 & 0.68336921\\\\\n",
"\t 2015 & 12 & 0.26228639\\\\\n",
"\t 2015 & 12 & 0.76498672\\\\\n",
"\t 2015 & 12 & 0.06769938\\\\\n",
"\t 2015 & 12 & 0.04222815\\\\\n",
"\t 2015 & 12 & 0.16744077\\\\\n",
"\t 2015 & 12 & 0.18254357\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 48000000 × 3\n",
"\n",
"| year <int> | month <int> | value <dbl> |\n",
"|---|---|---|\n",
"| 2012 | 1 | 0.148587166 |\n",
"| 2012 | 1 | 0.120807876 |\n",
"| 2012 | 1 | 0.614667156 |\n",
"| 2012 | 1 | 0.369752258 |\n",
"| 2012 | 1 | 0.121346171 |\n",
"| 2012 | 1 | 0.330971396 |\n",
"| 2012 | 1 | 0.430804984 |\n",
"| 2012 | 1 | 0.404022953 |\n",
"| 2012 | 1 | 0.110875000 |\n",
"| 2012 | 1 | 0.058353487 |\n",
"| 2012 | 1 | 0.548125013 |\n",
"| 2012 | 1 | 0.880323602 |\n",
"| 2012 | 1 | 0.288738890 |\n",
"| 2012 | 1 | 0.285392462 |\n",
"| 2012 | 1 | 0.374811831 |\n",
"| 2012 | 1 | 0.749654097 |\n",
"| 2012 | 1 | 0.172379978 |\n",
"| 2012 | 1 | 0.978577142 |\n",
"| 2012 | 1 | 0.003234281 |\n",
"| 2012 | 1 | 0.340910906 |\n",
"| 2012 | 1 | 0.539662852 |\n",
"| 2012 | 1 | 0.717013638 |\n",
"| 2012 | 1 | 0.663325960 |\n",
"| 2012 | 1 | 0.291598458 |\n",
"| 2012 | 1 | 0.671761449 |\n",
"| 2012 | 1 | 0.660027135 |\n",
"| 2012 | 1 | 0.660373735 |\n",
"| 2012 | 1 | 0.075242785 |\n",
"| 2012 | 1 | 0.901147913 |\n",
"| 2012 | 1 | 0.770226452 |\n",
"| ⋮ | ⋮ | ⋮ |\n",
"| 2015 | 12 | 0.61829935 |\n",
"| 2015 | 12 | 0.44962131 |\n",
"| 2015 | 12 | 0.67894544 |\n",
"| 2015 | 12 | 0.64179103 |\n",
"| 2015 | 12 | 0.11911344 |\n",
"| 2015 | 12 | 0.15315501 |\n",
"| 2015 | 12 | 0.23582180 |\n",
"| 2015 | 12 | 0.45141104 |\n",
"| 2015 | 12 | 0.90477649 |\n",
"| 2015 | 12 | 0.79977698 |\n",
"| 2015 | 12 | 0.01873635 |\n",
"| 2015 | 12 | 0.58248145 |\n",
"| 2015 | 12 | 0.86048586 |\n",
"| 2015 | 12 | 0.90103968 |\n",
"| 2015 | 12 | 0.24180188 |\n",
"| 2015 | 12 | 0.78979839 |\n",
"| 2015 | 12 | 0.91914455 |\n",
"| 2015 | 12 | 0.69111798 |\n",
"| 2015 | 12 | 0.79319777 |\n",
"| 2015 | 12 | 0.27779073 |\n",
"| 2015 | 12 | 0.83058309 |\n",
"| 2015 | 12 | 0.47284926 |\n",
"| 2015 | 12 | 0.05467489 |\n",
"| 2015 | 12 | 0.68336921 |\n",
"| 2015 | 12 | 0.26228639 |\n",
"| 2015 | 12 | 0.76498672 |\n",
"| 2015 | 12 | 0.06769938 |\n",
"| 2015 | 12 | 0.04222815 |\n",
"| 2015 | 12 | 0.16744077 |\n",
"| 2015 | 12 | 0.18254357 |\n",
"\n"
],
"text/plain": [
" year month value \n",
"1 2012 1 0.148587166\n",
"2 2012 1 0.120807876\n",
"3 2012 1 0.614667156\n",
"4 2012 1 0.369752258\n",
"5 2012 1 0.121346171\n",
"6 2012 1 0.330971396\n",
"7 2012 1 0.430804984\n",
"8 2012 1 0.404022953\n",
"9 2012 1 0.110875000\n",
"10 2012 1 0.058353487\n",
"11 2012 1 0.548125013\n",
"12 2012 1 0.880323602\n",
"13 2012 1 0.288738890\n",
"14 2012 1 0.285392462\n",
"15 2012 1 0.374811831\n",
"16 2012 1 0.749654097\n",
"17 2012 1 0.172379978\n",
"18 2012 1 0.978577142\n",
"19 2012 1 0.003234281\n",
"20 2012 1 0.340910906\n",
"21 2012 1 0.539662852\n",
"22 2012 1 0.717013638\n",
"23 2012 1 0.663325960\n",
"24 2012 1 0.291598458\n",
"25 2012 1 0.671761449\n",
"26 2012 1 0.660027135\n",
"27 2012 1 0.660373735\n",
"28 2012 1 0.075242785\n",
"29 2012 1 0.901147913\n",
"30 2012 1 0.770226452\n",
"⋮ ⋮ ⋮ ⋮ \n",
"47999971 2015 12 0.61829935 \n",
"47999972 2015 12 0.44962131 \n",
"47999973 2015 12 0.67894544 \n",
"47999974 2015 12 0.64179103 \n",
"47999975 2015 12 0.11911344 \n",
"47999976 2015 12 0.15315501 \n",
"47999977 2015 12 0.23582180 \n",
"47999978 2015 12 0.45141104 \n",
"47999979 2015 12 0.90477649 \n",
"47999980 2015 12 0.79977698 \n",
"47999981 2015 12 0.01873635 \n",
"47999982 2015 12 0.58248145 \n",
"47999983 2015 12 0.86048586 \n",
"47999984 2015 12 0.90103968 \n",
"47999985 2015 12 0.24180188 \n",
"47999986 2015 12 0.78979839 \n",
"47999987 2015 12 0.91914455 \n",
"47999988 2015 12 0.69111798 \n",
"47999989 2015 12 0.79319777 \n",
"47999990 2015 12 0.27779073 \n",
"47999991 2015 12 0.83058309 \n",
"47999992 2015 12 0.47284926 \n",
"47999993 2015 12 0.05467489 \n",
"47999994 2015 12 0.68336921 \n",
"47999995 2015 12 0.26228639 \n",
"47999996 2015 12 0.76498672 \n",
"47999997 2015 12 0.06769938 \n",
"47999998 2015 12 0.04222815 \n",
"47999999 2015 12 0.16744077 \n",
"48000000 2015 12 0.18254357 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"year = rep( c(2012:2015), each=12000000 )\n",
"month = rep( rep( c(1:12), each=1000000 ),4)\n",
"value = runif( 48000000 )\n",
"\n",
"ydf = data.frame( year, month, value)\n",
"ydf"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "609c8ea3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" user system elapsed \n",
" 1.34 0.31 1.65 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"system.time( ydf[ydf$year==2012,] )"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "9ec379ca",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.table: 48000000 × 3\n",
"\n",
"\tyear | month | value |
\n",
"\t<int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t2012 | 1 | 0.148587166 |
\n",
"\t2012 | 1 | 0.120807876 |
\n",
"\t2012 | 1 | 0.614667156 |
\n",
"\t2012 | 1 | 0.369752258 |
\n",
"\t2012 | 1 | 0.121346171 |
\n",
"\t2012 | 1 | 0.330971396 |
\n",
"\t2012 | 1 | 0.430804984 |
\n",
"\t2012 | 1 | 0.404022953 |
\n",
"\t2012 | 1 | 0.110875000 |
\n",
"\t2012 | 1 | 0.058353487 |
\n",
"\t2012 | 1 | 0.548125013 |
\n",
"\t2012 | 1 | 0.880323602 |
\n",
"\t2012 | 1 | 0.288738890 |
\n",
"\t2012 | 1 | 0.285392462 |
\n",
"\t2012 | 1 | 0.374811831 |
\n",
"\t2012 | 1 | 0.749654097 |
\n",
"\t2012 | 1 | 0.172379978 |
\n",
"\t2012 | 1 | 0.978577142 |
\n",
"\t2012 | 1 | 0.003234281 |
\n",
"\t2012 | 1 | 0.340910906 |
\n",
"\t2012 | 1 | 0.539662852 |
\n",
"\t2012 | 1 | 0.717013638 |
\n",
"\t2012 | 1 | 0.663325960 |
\n",
"\t2012 | 1 | 0.291598458 |
\n",
"\t2012 | 1 | 0.671761449 |
\n",
"\t2012 | 1 | 0.660027135 |
\n",
"\t2012 | 1 | 0.660373735 |
\n",
"\t2012 | 1 | 0.075242785 |
\n",
"\t2012 | 1 | 0.901147913 |
\n",
"\t2012 | 1 | 0.770226452 |
\n",
"\t⋮ | ⋮ | ⋮ |
\n",
"\t2015 | 12 | 0.61829935 |
\n",
"\t2015 | 12 | 0.44962131 |
\n",
"\t2015 | 12 | 0.67894544 |
\n",
"\t2015 | 12 | 0.64179103 |
\n",
"\t2015 | 12 | 0.11911344 |
\n",
"\t2015 | 12 | 0.15315501 |
\n",
"\t2015 | 12 | 0.23582180 |
\n",
"\t2015 | 12 | 0.45141104 |
\n",
"\t2015 | 12 | 0.90477649 |
\n",
"\t2015 | 12 | 0.79977698 |
\n",
"\t2015 | 12 | 0.01873635 |
\n",
"\t2015 | 12 | 0.58248145 |
\n",
"\t2015 | 12 | 0.86048586 |
\n",
"\t2015 | 12 | 0.90103968 |
\n",
"\t2015 | 12 | 0.24180188 |
\n",
"\t2015 | 12 | 0.78979839 |
\n",
"\t2015 | 12 | 0.91914455 |
\n",
"\t2015 | 12 | 0.69111798 |
\n",
"\t2015 | 12 | 0.79319777 |
\n",
"\t2015 | 12 | 0.27779073 |
\n",
"\t2015 | 12 | 0.83058309 |
\n",
"\t2015 | 12 | 0.47284926 |
\n",
"\t2015 | 12 | 0.05467489 |
\n",
"\t2015 | 12 | 0.68336921 |
\n",
"\t2015 | 12 | 0.26228639 |
\n",
"\t2015 | 12 | 0.76498672 |
\n",
"\t2015 | 12 | 0.06769938 |
\n",
"\t2015 | 12 | 0.04222815 |
\n",
"\t2015 | 12 | 0.16744077 |
\n",
"\t2015 | 12 | 0.18254357 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.table: 48000000 × 3\n",
"\\begin{tabular}{lll}\n",
" year & month & value\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 2012 & 1 & 0.148587166\\\\\n",
"\t 2012 & 1 & 0.120807876\\\\\n",
"\t 2012 & 1 & 0.614667156\\\\\n",
"\t 2012 & 1 & 0.369752258\\\\\n",
"\t 2012 & 1 & 0.121346171\\\\\n",
"\t 2012 & 1 & 0.330971396\\\\\n",
"\t 2012 & 1 & 0.430804984\\\\\n",
"\t 2012 & 1 & 0.404022953\\\\\n",
"\t 2012 & 1 & 0.110875000\\\\\n",
"\t 2012 & 1 & 0.058353487\\\\\n",
"\t 2012 & 1 & 0.548125013\\\\\n",
"\t 2012 & 1 & 0.880323602\\\\\n",
"\t 2012 & 1 & 0.288738890\\\\\n",
"\t 2012 & 1 & 0.285392462\\\\\n",
"\t 2012 & 1 & 0.374811831\\\\\n",
"\t 2012 & 1 & 0.749654097\\\\\n",
"\t 2012 & 1 & 0.172379978\\\\\n",
"\t 2012 & 1 & 0.978577142\\\\\n",
"\t 2012 & 1 & 0.003234281\\\\\n",
"\t 2012 & 1 & 0.340910906\\\\\n",
"\t 2012 & 1 & 0.539662852\\\\\n",
"\t 2012 & 1 & 0.717013638\\\\\n",
"\t 2012 & 1 & 0.663325960\\\\\n",
"\t 2012 & 1 & 0.291598458\\\\\n",
"\t 2012 & 1 & 0.671761449\\\\\n",
"\t 2012 & 1 & 0.660027135\\\\\n",
"\t 2012 & 1 & 0.660373735\\\\\n",
"\t 2012 & 1 & 0.075242785\\\\\n",
"\t 2012 & 1 & 0.901147913\\\\\n",
"\t 2012 & 1 & 0.770226452\\\\\n",
"\t ⋮ & ⋮ & ⋮\\\\\n",
"\t 2015 & 12 & 0.61829935\\\\\n",
"\t 2015 & 12 & 0.44962131\\\\\n",
"\t 2015 & 12 & 0.67894544\\\\\n",
"\t 2015 & 12 & 0.64179103\\\\\n",
"\t 2015 & 12 & 0.11911344\\\\\n",
"\t 2015 & 12 & 0.15315501\\\\\n",
"\t 2015 & 12 & 0.23582180\\\\\n",
"\t 2015 & 12 & 0.45141104\\\\\n",
"\t 2015 & 12 & 0.90477649\\\\\n",
"\t 2015 & 12 & 0.79977698\\\\\n",
"\t 2015 & 12 & 0.01873635\\\\\n",
"\t 2015 & 12 & 0.58248145\\\\\n",
"\t 2015 & 12 & 0.86048586\\\\\n",
"\t 2015 & 12 & 0.90103968\\\\\n",
"\t 2015 & 12 & 0.24180188\\\\\n",
"\t 2015 & 12 & 0.78979839\\\\\n",
"\t 2015 & 12 & 0.91914455\\\\\n",
"\t 2015 & 12 & 0.69111798\\\\\n",
"\t 2015 & 12 & 0.79319777\\\\\n",
"\t 2015 & 12 & 0.27779073\\\\\n",
"\t 2015 & 12 & 0.83058309\\\\\n",
"\t 2015 & 12 & 0.47284926\\\\\n",
"\t 2015 & 12 & 0.05467489\\\\\n",
"\t 2015 & 12 & 0.68336921\\\\\n",
"\t 2015 & 12 & 0.26228639\\\\\n",
"\t 2015 & 12 & 0.76498672\\\\\n",
"\t 2015 & 12 & 0.06769938\\\\\n",
"\t 2015 & 12 & 0.04222815\\\\\n",
"\t 2015 & 12 & 0.16744077\\\\\n",
"\t 2015 & 12 & 0.18254357\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.table: 48000000 × 3\n",
"\n",
"| year <int> | month <int> | value <dbl> |\n",
"|---|---|---|\n",
"| 2012 | 1 | 0.148587166 |\n",
"| 2012 | 1 | 0.120807876 |\n",
"| 2012 | 1 | 0.614667156 |\n",
"| 2012 | 1 | 0.369752258 |\n",
"| 2012 | 1 | 0.121346171 |\n",
"| 2012 | 1 | 0.330971396 |\n",
"| 2012 | 1 | 0.430804984 |\n",
"| 2012 | 1 | 0.404022953 |\n",
"| 2012 | 1 | 0.110875000 |\n",
"| 2012 | 1 | 0.058353487 |\n",
"| 2012 | 1 | 0.548125013 |\n",
"| 2012 | 1 | 0.880323602 |\n",
"| 2012 | 1 | 0.288738890 |\n",
"| 2012 | 1 | 0.285392462 |\n",
"| 2012 | 1 | 0.374811831 |\n",
"| 2012 | 1 | 0.749654097 |\n",
"| 2012 | 1 | 0.172379978 |\n",
"| 2012 | 1 | 0.978577142 |\n",
"| 2012 | 1 | 0.003234281 |\n",
"| 2012 | 1 | 0.340910906 |\n",
"| 2012 | 1 | 0.539662852 |\n",
"| 2012 | 1 | 0.717013638 |\n",
"| 2012 | 1 | 0.663325960 |\n",
"| 2012 | 1 | 0.291598458 |\n",
"| 2012 | 1 | 0.671761449 |\n",
"| 2012 | 1 | 0.660027135 |\n",
"| 2012 | 1 | 0.660373735 |\n",
"| 2012 | 1 | 0.075242785 |\n",
"| 2012 | 1 | 0.901147913 |\n",
"| 2012 | 1 | 0.770226452 |\n",
"| ⋮ | ⋮ | ⋮ |\n",
"| 2015 | 12 | 0.61829935 |\n",
"| 2015 | 12 | 0.44962131 |\n",
"| 2015 | 12 | 0.67894544 |\n",
"| 2015 | 12 | 0.64179103 |\n",
"| 2015 | 12 | 0.11911344 |\n",
"| 2015 | 12 | 0.15315501 |\n",
"| 2015 | 12 | 0.23582180 |\n",
"| 2015 | 12 | 0.45141104 |\n",
"| 2015 | 12 | 0.90477649 |\n",
"| 2015 | 12 | 0.79977698 |\n",
"| 2015 | 12 | 0.01873635 |\n",
"| 2015 | 12 | 0.58248145 |\n",
"| 2015 | 12 | 0.86048586 |\n",
"| 2015 | 12 | 0.90103968 |\n",
"| 2015 | 12 | 0.24180188 |\n",
"| 2015 | 12 | 0.78979839 |\n",
"| 2015 | 12 | 0.91914455 |\n",
"| 2015 | 12 | 0.69111798 |\n",
"| 2015 | 12 | 0.79319777 |\n",
"| 2015 | 12 | 0.27779073 |\n",
"| 2015 | 12 | 0.83058309 |\n",
"| 2015 | 12 | 0.47284926 |\n",
"| 2015 | 12 | 0.05467489 |\n",
"| 2015 | 12 | 0.68336921 |\n",
"| 2015 | 12 | 0.26228639 |\n",
"| 2015 | 12 | 0.76498672 |\n",
"| 2015 | 12 | 0.06769938 |\n",
"| 2015 | 12 | 0.04222815 |\n",
"| 2015 | 12 | 0.16744077 |\n",
"| 2015 | 12 | 0.18254357 |\n",
"\n"
],
"text/plain": [
" year month value \n",
"1 2012 1 0.148587166\n",
"2 2012 1 0.120807876\n",
"3 2012 1 0.614667156\n",
"4 2012 1 0.369752258\n",
"5 2012 1 0.121346171\n",
"6 2012 1 0.330971396\n",
"7 2012 1 0.430804984\n",
"8 2012 1 0.404022953\n",
"9 2012 1 0.110875000\n",
"10 2012 1 0.058353487\n",
"11 2012 1 0.548125013\n",
"12 2012 1 0.880323602\n",
"13 2012 1 0.288738890\n",
"14 2012 1 0.285392462\n",
"15 2012 1 0.374811831\n",
"16 2012 1 0.749654097\n",
"17 2012 1 0.172379978\n",
"18 2012 1 0.978577142\n",
"19 2012 1 0.003234281\n",
"20 2012 1 0.340910906\n",
"21 2012 1 0.539662852\n",
"22 2012 1 0.717013638\n",
"23 2012 1 0.663325960\n",
"24 2012 1 0.291598458\n",
"25 2012 1 0.671761449\n",
"26 2012 1 0.660027135\n",
"27 2012 1 0.660373735\n",
"28 2012 1 0.075242785\n",
"29 2012 1 0.901147913\n",
"30 2012 1 0.770226452\n",
"⋮ ⋮ ⋮ ⋮ \n",
"47999971 2015 12 0.61829935 \n",
"47999972 2015 12 0.44962131 \n",
"47999973 2015 12 0.67894544 \n",
"47999974 2015 12 0.64179103 \n",
"47999975 2015 12 0.11911344 \n",
"47999976 2015 12 0.15315501 \n",
"47999977 2015 12 0.23582180 \n",
"47999978 2015 12 0.45141104 \n",
"47999979 2015 12 0.90477649 \n",
"47999980 2015 12 0.79977698 \n",
"47999981 2015 12 0.01873635 \n",
"47999982 2015 12 0.58248145 \n",
"47999983 2015 12 0.86048586 \n",
"47999984 2015 12 0.90103968 \n",
"47999985 2015 12 0.24180188 \n",
"47999986 2015 12 0.78979839 \n",
"47999987 2015 12 0.91914455 \n",
"47999988 2015 12 0.69111798 \n",
"47999989 2015 12 0.79319777 \n",
"47999990 2015 12 0.27779073 \n",
"47999991 2015 12 0.83058309 \n",
"47999992 2015 12 0.47284926 \n",
"47999993 2015 12 0.05467489 \n",
"47999994 2015 12 0.68336921 \n",
"47999995 2015 12 0.26228639 \n",
"47999996 2015 12 0.76498672 \n",
"47999997 2015 12 0.06769938 \n",
"47999998 2015 12 0.04222815 \n",
"47999999 2015 12 0.16744077 \n",
"48000000 2015 12 0.18254357 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dt = as.data.table( ydf)\n",
"dt"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "0955ccbc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" user system elapsed \n",
" 0.37 0.25 0.33 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"setkey( dt, year)\n",
"system.time( dt[dt$year==2012,] )"
]
},
{
"cell_type": "markdown",
"id": "b39b08a5",
"metadata": {},
"source": [
"### reshape패키지"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "9b036002",
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"Attaching package: 'reshape'\n",
"\n",
"\n",
"The following object is masked from 'package:data.table':\n",
"\n",
" melt\n",
"\n",
"\n",
"The following objects are masked from 'package:plyr':\n",
"\n",
" rename, round_any\n",
"\n",
"\n"
]
}
],
"source": [
"# install.packages(\"reshape\")\n",
"# reshape 패키지 로드\n",
"library(reshape)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "ba53ad0d",
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 3 × 4\n",
"\n",
"\tname | kor | eng | math |
\n",
"\t<chr> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t홍길동 | 80 | 70 | 50 |
\n",
"\t이순신 | 90 | 80 | 40 |
\n",
"\t임꺽정 | 30 | 50 | 20 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 3 × 4\n",
"\\begin{tabular}{llll}\n",
" name & kor & eng & math\\\\\n",
" & & & \\\\\n",
"\\hline\n",
"\t 홍길동 & 80 & 70 & 50\\\\\n",
"\t 이순신 & 90 & 80 & 40\\\\\n",
"\t 임꺽정 & 30 & 50 & 20\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 3 × 4\n",
"\n",
"| name <chr> | kor <dbl> | eng <dbl> | math <dbl> |\n",
"|---|---|---|---|\n",
"| 홍길동 | 80 | 70 | 50 |\n",
"| 이순신 | 90 | 80 | 40 |\n",
"| 임꺽정 | 30 | 50 | 20 |\n",
"\n"
],
"text/plain": [
" name kor eng math\n",
"1 홍길동 80 70 50 \n",
"2 이순신 90 80 40 \n",
"3 임꺽정 30 50 20 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"v1 = c('홍길동','이순신', '임꺽정')\n",
"v2 = c(80,90, 30)\n",
"v3 = c(70,80, 50)\n",
"v4 = c(50,40, 20)\n",
"df = data.frame( v1, v2,v3,v4)\n",
"colnames(df) = c('name','kor','eng','math')\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "27208d8b",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 9 × 3\n",
"\n",
"\tname | variable | value |
\n",
"\t<chr> | <fct> | <dbl> |
\n",
"\n",
"\n",
"\t홍길동 | kor | 80 |
\n",
"\t이순신 | kor | 90 |
\n",
"\t임꺽정 | kor | 30 |
\n",
"\t홍길동 | eng | 70 |
\n",
"\t이순신 | eng | 80 |
\n",
"\t임꺽정 | eng | 50 |
\n",
"\t홍길동 | math | 50 |
\n",
"\t이순신 | math | 40 |
\n",
"\t임꺽정 | math | 20 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 9 × 3\n",
"\\begin{tabular}{lll}\n",
" name & variable & value\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 홍길동 & kor & 80\\\\\n",
"\t 이순신 & kor & 90\\\\\n",
"\t 임꺽정 & kor & 30\\\\\n",
"\t 홍길동 & eng & 70\\\\\n",
"\t 이순신 & eng & 80\\\\\n",
"\t 임꺽정 & eng & 50\\\\\n",
"\t 홍길동 & math & 50\\\\\n",
"\t 이순신 & math & 40\\\\\n",
"\t 임꺽정 & math & 20\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 9 × 3\n",
"\n",
"| name <chr> | variable <fct> | value <dbl> |\n",
"|---|---|---|\n",
"| 홍길동 | kor | 80 |\n",
"| 이순신 | kor | 90 |\n",
"| 임꺽정 | kor | 30 |\n",
"| 홍길동 | eng | 70 |\n",
"| 이순신 | eng | 80 |\n",
"| 임꺽정 | eng | 50 |\n",
"| 홍길동 | math | 50 |\n",
"| 이순신 | math | 40 |\n",
"| 임꺽정 | math | 20 |\n",
"\n"
],
"text/plain": [
" name variable value\n",
"1 홍길동 kor 80 \n",
"2 이순신 kor 90 \n",
"3 임꺽정 kor 30 \n",
"4 홍길동 eng 70 \n",
"5 이순신 eng 80 \n",
"6 임꺽정 eng 50 \n",
"7 홍길동 math 50 \n",
"8 이순신 math 40 \n",
"9 임꺽정 math 20 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = melt( df, id=c('name'))\n",
"m"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "09b7d041",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A cast_df: 3 × 4\n",
"\n",
"\t | name | kor | eng | math |
\n",
"\t | <chr> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t1 | 이순신 | 90 | 80 | 40 |
\n",
"\t2 | 임꺽정 | 30 | 50 | 20 |
\n",
"\t3 | 홍길동 | 80 | 70 | 50 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A cast\\_df: 3 × 4\n",
"\\begin{tabular}{r|llll}\n",
" & name & kor & eng & math\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t1 & 이순신 & 90 & 80 & 40\\\\\n",
"\t2 & 임꺽정 & 30 & 50 & 20\\\\\n",
"\t3 & 홍길동 & 80 & 70 & 50\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A cast_df: 3 × 4\n",
"\n",
"| | name <chr> | kor <dbl> | eng <dbl> | math <dbl> |\n",
"|---|---|---|---|---|\n",
"| 1 | 이순신 | 90 | 80 | 40 |\n",
"| 2 | 임꺽정 | 30 | 50 | 20 |\n",
"| 3 | 홍길동 | 80 | 70 | 50 |\n",
"\n"
],
"text/plain": [
" name kor eng math\n",
"1 이순신 90 80 40 \n",
"2 임꺽정 30 50 20 \n",
"3 홍길동 80 70 50 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cast( m ,id= c('name') )"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "9d090311",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 3 × 4\n",
"\n",
"\tname | kor | eng | math |
\n",
"\t<chr> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t홍길동 | 80 | 70 | 50 |
\n",
"\t이순신 | 90 | 80 | 40 |
\n",
"\t임꺽정 | 30 | 50 | 20 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 3 × 4\n",
"\\begin{tabular}{llll}\n",
" name & kor & eng & math\\\\\n",
" & & & \\\\\n",
"\\hline\n",
"\t 홍길동 & 80 & 70 & 50\\\\\n",
"\t 이순신 & 90 & 80 & 40\\\\\n",
"\t 임꺽정 & 30 & 50 & 20\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 3 × 4\n",
"\n",
"| name <chr> | kor <dbl> | eng <dbl> | math <dbl> |\n",
"|---|---|---|---|\n",
"| 홍길동 | 80 | 70 | 50 |\n",
"| 이순신 | 90 | 80 | 40 |\n",
"| 임꺽정 | 30 | 50 | 20 |\n",
"\n"
],
"text/plain": [
" name kor eng math\n",
"1 홍길동 80 70 50 \n",
"2 이순신 90 80 40 \n",
"3 임꺽정 30 50 20 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "4.4.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}