R을 시작하게 되면, 처음으로 작업 디렉토리를 설정해줘야합니다. 먼저, D 드라이브에 ‘Rclass’라는 폴더를 만들어줍니다. 되도록이면, 한글이름을 사용하지 말고, 단순한 경로를 사용합니다. (바탕화면 노노..) 설정 방법은 ’setwd(“디렉토리”)’ 입니다.
setwd("~/Rclass/")
설정된 작업 디렉토리를 확인하는 방법은 ‘getwd()’ 입니다.
getwd()
## [1] "D:/OneDrive - hufs.ac.kr/Workspace_hufs/Rclass/Ehwa_240227"
위와 같이 “D:/Rclass/”가 작업 디렉토리로 설정된 것을 볼 수 있습니다.
다음으로는 분석에 필요한 라이브러리를 설치해줍니다. 라이브러리의 종류는 수백가지라, 각각의 목적에 맞는 패키지를 검색 후 설치해야합니다. 대기과학에서 주로 사용한다고 말하기는 힘들지만, 제가 기본으로 불러오는 패키지는 lubridate와 ‘plyr’ 입니다.
install.packages("lubridate")
install.packages("plyr")
’lubridate’는 시계열 자료를 다루는데 매우 유용하며, ’plyr’은 자료의 반올림, 내림, 버림을 하는 데 유용합니다.
앞서 ‘install.packages’를 실행하여 해당 패키지를 설치했다면, 앞으로는 ’library’ 명령어를 이용해서 패키지를 불러오면 됩니다.
library("lubridate")
##
## 다음의 패키지를 부착합니다: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library("plyr")
오류 메세지 없이 불러왔다면, 이제 문제 없이 해당 패키지를 사용할 수 있습니다.
텍스트 데이터
argument | 설명 |
---|---|
file | R에서 읽어올 외부 데이터가 있는 파일의 위치(경로)와 파일명(확장자 포함)을 문자형으로 지정한다. |
header | 논리형으로 TRUE를 지정하면 외부 데이터에 있는 변수명을 R 데이터에서도 동일하게 사용하며, FALSE를 지정하면 외부 데이터의 변수명을 사용하지 않고 R에서 자체적으로 변수명을 지정한다. 그 이름은 “V1”, “V2” 식으로 된다. |
sep | 구분자로 문자형 형태로 지정한다. 공백이면 ” “, 콤마이면”,“, 탭이면”\t” |
stringsAsFactors | 문자형 데이터를 요인(factor)으로 자동으로 변경할 지를 설정한다. FALSE를 지정하면 문자형 데이터를 요인으로 변경하지 않고 문자형으로 읽어들인다. |
na.strings | 데이터에 결측치가 있거나 결측치로 지정할 내용을 문자형으로 지정한다 |
nrow | 읽어들일 행의 갯수를 지정 |
skip | 읽지 않고 넘길 행의 갯수 |
fileEncoding | encoding 타입 윈도우는 WINDOWS-1252, 리눅스/맥은 UTF-8 |
CSV 데이터
DAT = read.csv(file = “파일명”, header = TRUE)
엑셀 데이터
install.packages("readxl")
library("readxl")
argument | 설명 |
---|---|
path | R에서 읽어올 외부 데이터가 있는 파일의 위치(경로)와 파일명(확장자 포함)을 문자형으로 지정한다. |
sheet | 엑셀 파일의 있는 시트(sheet) 중에서 어떤 시트인지를 지정하는 것으로 시트명을 알고 있으면 문자형으로 지정하며, 시트의 위치(index)를 알면 수치형으로 지정하면 된다. |
col_names | 논리형으로 엑셀에 있는 변수명을 사용할 지를 의미한다. TRUE이면 엑셀에 있는 변수명을 사용한다 |
DAT = read_excel(path = “파일명”, sheet = “Sheet1”, col_names = TRUE)
DAT = read_excel(path = “파일명”, sheet = “Sheet1”, col_names = TRUE)
본 강좌에서는 sample_data.xlsx를 사용할 예정입니다 (파일명이 빈 공백등은 되도록 노노..).
library("readxl")
aero = read_excel(path = "sample_data.xlsx", sheet = "Sheet1", col_names = TRUE)#, fileEncoding = "WINDOWS-1252")
설명 | 방법 | 사용법 |
---|---|---|
행의 개수 | nrow(데이터명) | nrow(aero) |
열의 개수 | ncol(데이터명) | ncol(aero) |
행의 이름 | row.names(데이터명) | row.names(aero) |
열의 이름 | colnames(데이터명) | colnames(aero) |
행과 열이 갯수 | dim(데이터명) | dim(aero) |
데이터의 구조 | str(데이터명) | str(aero) |
paste("R", 1:53940, sep = "")
데이터 추출하기
head(aero)
## Date Temperature Wind direction Wind speed PM2.5 OC
## 1 2020-12-15 00:00:00 -12.3 21.5 0.2 10 1.944157
## 2 2020-12-15 01:00:00 -13.1 118.1 0.1 12 2.048968
## 3 2020-12-15 02:00:00 -13.6 125.1 0.3 13 1.805130
## 4 2020-12-15 03:00:00 -12.4 30.6 0.6 14 2.083666
## 5 2020-12-15 04:00:00 -13.7 95.3 0.5 13 1.766200
## 6 2020-12-15 05:00:00 -12.2 323.0 0.7 11 1.400701
## EC SO42- NO3- Cl- Na+ NH4+ K+ Mg2+ Ca2+
## 1 0.6255070 1.40232 1.39549 0.23159 0.03549 0.85731 0.03115 0.07053 0.01698
## 2 0.6197119 1.45922 1.49809 0.22669 0.03399 0.89731 0.02605 0.05833 0.01718
## 3 0.5682204 1.48532 1.54819 0.22779 0.03159 0.92621 0.03265 0.04803 0.01488
## 4 0.5837869 1.54722 1.53099 0.24299 0.03029 0.91341 0.03495 0.04203 0.01028
## 5 0.5339275 1.45522 1.34259 0.25099 0.02999 0.78641 0.03495 0.02513 0.01728
## 6 0.4581114 1.39652 1.17579 0.28119 0.02659 0.74611 0.03425 0.01333 0.01998
head(aero, n = 3)
## Date Temperature Wind direction Wind speed PM2.5 OC
## 1 2020-12-15 00:00:00 -12.3 21.5 0.2 10 1.944157
## 2 2020-12-15 01:00:00 -13.1 118.1 0.1 12 2.048968
## 3 2020-12-15 02:00:00 -13.6 125.1 0.3 13 1.805130
## EC SO42- NO3- Cl- Na+ NH4+ K+ Mg2+ Ca2+
## 1 0.6255070 1.40232 1.39549 0.23159 0.03549 0.85731 0.03115 0.07053 0.01698
## 2 0.6197119 1.45922 1.49809 0.22669 0.03399 0.89731 0.02605 0.05833 0.01718
## 3 0.5682204 1.48532 1.54819 0.22779 0.03159 0.92621 0.03265 0.04803 0.01488
tail(aero)
## Date Temperature Wind direction Wind speed PM2.5 OC
## 763 2021-01-15 18:00:00 5.1 297.0 2.1 59 7.341742
## 764 2021-01-15 19:00:00 3.4 249.2 0.9 47 6.241189
## 765 2021-01-15 20:00:00 2.5 353.6 0.6 44 5.638757
## 766 2021-01-15 21:00:00 1.6 238.3 0.9 42 5.481069
## 767 2021-01-15 22:00:00 -0.3 336.9 0.6 35 4.791733
## 768 2021-01-15 23:00:00 -0.5 317.7 0.8 39 5.795961
## EC SO42- NO3- Cl- Na+ NH4+ K+ Mg2+ Ca2+
## 763 2.089880 3.66652 19.95149 1.93789 0.47189 8.24251 0.15435 0.09103 0.12778
## 764 1.609157 4.93662 18.84049 1.71229 0.32849 8.42511 0.16545 0.07553 0.11468
## 765 1.279726 5.04612 13.01529 1.15939 0.24319 6.20201 0.12595 0.07133 0.12818
## 766 1.285806 4.56892 9.08269 0.67019 0.11739 4.66061 0.10895 0.05663 0.14198
## 767 1.184745 4.14502 7.94549 0.73569 0.14109 3.97071 0.08135 0.06813 0.13818
## 768 1.371843 4.38362 5.56269 0.64329 0.12409 3.31881 0.11415 0.07043 0.10958
tail(aero, n = 3)
## Date Temperature Wind direction Wind speed PM2.5 OC
## 766 2021-01-15 21:00:00 1.6 238.3 0.9 42 5.481069
## 767 2021-01-15 22:00:00 -0.3 336.9 0.6 35 4.791733
## 768 2021-01-15 23:00:00 -0.5 317.7 0.8 39 5.795961
## EC SO42- NO3- Cl- Na+ NH4+ K+ Mg2+ Ca2+
## 766 1.285806 4.56892 9.08269 0.67019 0.11739 4.66061 0.10895 0.05663 0.14198
## 767 1.184745 4.14502 7.94549 0.73569 0.14109 3.97071 0.08135 0.06813 0.13818
## 768 1.371843 4.38362 5.56269 0.64329 0.12409 3.31881 0.11415 0.07043 0.10958
aero[1:10, 1] # aero 첫번째 열 중 1-10행까지만 벡터 형태로 출력
## [1] "2020-12-15 00:00:00 UTC" "2020-12-15 01:00:00 UTC"
## [3] "2020-12-15 02:00:00 UTC" "2020-12-15 03:00:00 UTC"
## [5] "2020-12-15 04:00:00 UTC" "2020-12-15 05:00:00 UTC"
## [7] "2020-12-15 06:00:00 UTC" "2020-12-15 07:00:00 UTC"
## [9] "2020-12-15 08:00:00 UTC" "2020-12-15 09:00:00 UTC"
aero[1:10, 1, drop=FALSE] # 데이터 프레임 형태로 출력
## Date
## 1 2020-12-15 00:00:00
## 2 2020-12-15 01:00:00
## 3 2020-12-15 02:00:00
## 4 2020-12-15 03:00:00
## 5 2020-12-15 04:00:00
## 6 2020-12-15 05:00:00
## 7 2020-12-15 06:00:00
## 8 2020-12-15 07:00:00
## 9 2020-12-15 08:00:00
## 10 2020-12-15 09:00:00
aero[1:10 , c(1, 3, 4)] # 1, 3, 4번째 열만 출력
## Date Wind direction Wind speed
## 1 2020-12-15 00:00:00 21.5 0.2
## 2 2020-12-15 01:00:00 118.1 0.1
## 3 2020-12-15 02:00:00 125.1 0.3
## 4 2020-12-15 03:00:00 30.6 0.6
## 5 2020-12-15 04:00:00 95.3 0.5
## 6 2020-12-15 05:00:00 323.0 0.7
## 7 2020-12-15 06:00:00 77.4 0.2
## 8 2020-12-15 07:00:00 104.3 0.5
## 9 2020-12-15 08:00:00 13.9 0.0
## 10 2020-12-15 09:00:00 126.7 0.2
aero[1:10 , 2:5] # 2부터 다섯번째 열까지 출력
## Temperature Wind direction Wind speed PM2.5
## 1 -12.3 21.5 0.2 10
## 2 -13.1 118.1 0.1 12
## 3 -13.6 125.1 0.3 13
## 4 -12.4 30.6 0.6 14
## 5 -13.7 95.3 0.5 13
## 6 -12.2 323.0 0.7 11
## 7 -12.8 77.4 0.2 9
## 8 -14.1 104.3 0.5 8
## 9 -14.9 13.9 0.0 8
## 10 -13.4 126.7 0.2 9
aero[1:10 , seq(from = 1, to = ncol(aero), by = 2)] #첫번째 열부터 마지막 열까지 홀수만 출력
## Date Wind direction PM2.5 EC NO3- Na+ K+
## 1 2020-12-15 00:00:00 21.5 10 0.6255070 1.39549 0.03549 0.03115
## 2 2020-12-15 01:00:00 118.1 12 0.6197119 1.49809 0.03399 0.02605
## 3 2020-12-15 02:00:00 125.1 13 0.5682204 1.54819 0.03159 0.03265
## 4 2020-12-15 03:00:00 30.6 14 0.5837869 1.53099 0.03029 0.03495
## 5 2020-12-15 04:00:00 95.3 13 0.5339275 1.34259 0.02999 0.03495
## 6 2020-12-15 05:00:00 323.0 11 0.4581114 1.17579 0.02659 0.03425
## 7 2020-12-15 06:00:00 77.4 9 0.3653754 0.94399 0.01959 0.03385
## 8 2020-12-15 07:00:00 104.3 8 0.4000881 0.79839 0.01839 0.02505
## 9 2020-12-15 08:00:00 13.9 8 0.4107523 0.83159 0.01929 0.02015
## 10 2020-12-15 09:00:00 126.7 9 0.5356505 0.89959 0.01999 0.01815
## Ca2+
## 1 0.01698
## 2 0.01718
## 3 0.01488
## 4 0.01028
## 5 0.01728
## 6 0.01998
## 7 0.02048
## 8 0.02018
## 9 0.02758
## 10 0.02538
aero[1:10 , c("PM2.5", "OC", "EC")] # 다음과 같은 열 이름만 출력력
## PM2.5 OC EC
## 1 10 1.9441572 0.6255070
## 2 12 2.0489682 0.6197119
## 3 13 1.8051302 0.5682204
## 4 14 2.0836662 0.5837869
## 5 13 1.7662002 0.5339275
## 6 11 1.4007012 0.4581114
## 7 9 0.8442722 0.3653754
## 8 8 0.9623322 0.4000881
## 9 8 0.9659122 0.4107523
## 10 9 1.3125702 0.5356505
argument | 설명 |
---|---|
pattern | 특정한 문자로 시작하거나 끝나거나 포함하고 있는지를 문자형으로 표현한다. a로 시작하는 것은 “^a”, a로 끝나는 것은 “a$”, a를 포함하는 것은 “a”로 지정한다.x 문자형 벡터를 지정한다. |
value | 논리형으로 TRUE으로 pattern를 만족하는 벡터의 값을 반환하고,FALSE를 지정하면 pattern를 만족하는 벡터의 위치(index)를 반환한다. |
grep("O", colnames(aero), value = TRUE) # 헤더이름 중 O가 들어가는 이름
## [1] "OC" "SO42-" "NO3-"
grep("O", colnames(aero), value = FALSE) # 헤더이름 중 O가 들어가는 순서
## [1] 6 8 9
aero[1:10, grep("O", colnames(aero), value = TRUE)] # 헤더이름 중 O가 들어가는 이름 중 10열까지 출력
## OC SO42- NO3-
## 1 1.9441572 1.40232 1.39549
## 2 2.0489682 1.45922 1.49809
## 3 1.8051302 1.48532 1.54819
## 4 2.0836662 1.54722 1.53099
## 5 1.7662002 1.45522 1.34259
## 6 1.4007012 1.39652 1.17579
## 7 0.8442722 1.27212 0.94399
## 8 0.9623322 1.19452 0.79839
## 9 0.9659122 1.18652 0.83159
## 10 1.3125702 1.13932 0.89959
argument | 설명 |
---|---|
x | 문자형 벡터를 지정한다. |
start | 추출할 문자의 첫 번째 위치를 정수형으로 지정. |
stop | 추출한 문자의 마지막 위치를 정수형으로 지정. |
substr(colnames(aero), start = 1, stop = 2) # 변수명 중에서 처음 두 개의 문자를 추출
## [1] "Da" "Te" "Wi" "Wi" "PM" "OC" "EC" "SO" "NO" "Cl" "Na" "NH" "K+" "Mg" "Ca"
substr(colnames(aero), 1, 2) # 변수명 중에서 처음 두 개의 문자를 추출
## [1] "Da" "Te" "Wi" "Wi" "PM" "OC" "EC" "SO" "NO" "Cl" "Na" "NH" "K+" "Mg" "Ca"
aero[1:10 , substr(colnames(aero), start = 1, stop = 2) == "SO"] # 변수명 중에서 처음 두 개의 문자를 추출한 것이 “SO”와같은 열을 추출 (1-10행)
## [1] 1.40232 1.45922 1.48532 1.54722 1.45522 1.39652 1.27212 1.19452 1.18652
## [10] 1.13932
aero$main.wd = "North"
aero[is.na(aero$`Wind direction`) == F & aero$`Wind direction` >= 90 & aero$`Wind direction` < 270, "main.wd"] = "South"
south = aero[aero$main.wd == "South" , ] # 풍상풍하열 값 중 'u'만 추출하여 upwind에 할당
north = aero[aero$main.wd == "North" , ]
boxplot(aero$PM2.5 ~ aero$main.wd) #factor를 이용한 boxplot
* 이와 마찬가지로 원하는 조건에 따라 추출 가능
aero[aero$PM2.5 >= 5, ] # Organic이 5 ug m-3 이상인 자료
aero[(aero$main.wd == 'North') & (aero$PM2.5 >= 35), ] # Organic이 5 ug m-3 이상이고 풍상지역인 자료
aero[(aero$main.wd == 'South') & (aero$PM2.5 >= 35), ] # Organic이 5 ug m-3 이상이거나 풍상지역인 자료
aero[(aero$main.wd == 'South') | (aero$PM2.5 >= 35), 2:3] # Organic이 5 ug m-3 이상이거나 풍상지역인 자료 중 2번째, 3번째 컬럼
aero[(aero$main.wd == 'South') | (aero$PM2.5 >= 355), c("OC", "EC")] # Organic이 5 ug m-3 이상이거나 풍상지역인 자료 중 "ORG", "SO4" 컬럼
aero$Date[1]
argument | 설명 |
---|---|
x | 변경할 변수 |
tz | 사용자가 원하는 time zone. 미지정 시 “GMT”. 한국은 “Asia/Seoul”. |
aero$Time = as.POSIXct(aero$Date, tz = "Asia/Seoul")
aero$Time[1]
## [1] "2020-12-15 09:00:00 KST"
aero$Time = as.POSIXlt(aero$Date, tz = "Asia/Seoul")
aero$Time[1]
## [1] "2020-12-15 09:00:00 KST"
aero$Time = aero$Time - hours(9)
aero$Time[1]
## [1] "2020-12-15 KST"
meteo = read_excel(path = "sample_data.xlsx", sheet = "Sheet2", col_names = TRUE)#, fileEncoding = "WINDOWS-1252")
str(meteo)
## tibble [768 × 16] (S3: tbl_df/tbl/data.frame)
## $ Date : POSIXct[1:768], format: "2020-12-15" "2020-12-15" ...
## $ time : POSIXct[1:768], format: "1899-12-31 00:00:00" "1899-12-31 01:00:00" ...
## $ prec : chr [1:768] "○" "○" "○" "○" ...
## $ prec15 : chr [1:768] "0" "0" "0" "0" ...
## $ prec60 : chr [1:768] "0" "0" "0" "0" ...
## $ prec3h : chr [1:768] "0" "0" "0" "0" ...
## $ prec6h : chr [1:768] "0" "0" "0" "0" ...
## $ prec12h: chr [1:768] "0" "0" "0" "0" ...
## $ precd : chr [1:768] "0" "0" "0" "0" ...
## $ temp : chr [1:768] "-12.3" "-13.1" "-13.6" "-12.4" ...
## $ wd : num [1:768] 54.1 102.2 148.8 143.1 334 ...
## $ wdd : chr [1:768] "NE" "-" "SSE" "SE" ...
## $ ws : num [1:768] 0.7 0.1 0.5 0.6 0.3 0.8 0 0.1 0 0.3 ...
## $ wd10 : num [1:768] 21.5 118.1 125.1 30.6 95.3 ...
## $ wdd10 : chr [1:768] "NNE" "-" "SE" "NNE" ...
## $ ws10 : num [1:768] 0.2 0.1 0.3 0.6 0.5 0.7 0.2 0.5 0 0.2 ...
meteo$temp = as.numeric(meteo$temp)
## Warning: NAs introduced by coercion
meteo$prec60 = as.numeric(meteo$prec60)
## Warning: NAs introduced by coercion
meteo.slct = meteo[,c(1,2,5,10,11,13,14, 16)]
meteo.slct$Date[1:10]
## [1] "2020-12-15 UTC" "2020-12-15 UTC" "2020-12-15 UTC" "2020-12-15 UTC"
## [5] "2020-12-15 UTC" "2020-12-15 UTC" "2020-12-15 UTC" "2020-12-15 UTC"
## [9] "2020-12-15 UTC" "2020-12-15 UTC"
meteo.slct$time[1:10]
## [1] "1899-12-31 00:00:00 UTC" "1899-12-31 01:00:00 UTC"
## [3] "1899-12-31 02:00:00 UTC" "1899-12-31 03:00:00 UTC"
## [5] "1899-12-31 04:00:00 UTC" "1899-12-31 05:00:00 UTC"
## [7] "1899-12-31 06:00:00 UTC" "1899-12-31 07:00:00 UTC"
## [9] "1899-12-31 08:00:00 UTC" "1899-12-31 09:00:00 UTC"
meteo.slct$Time = meteo.slct$Date + hours(hour(meteo.slct$time))
meteo.slct$Time = as.POSIXlt(meteo.slct$Time, tz = "Asia/Seoul")
meteo.slct$Time[1]
## [1] "2020-12-15 09:00:00 KST"
meteo.slct$Time = meteo.slct$Time - hours(9)
meteo.slct$Time[1]
## [1] "2020-12-15 KST"
argument | 설명 |
---|---|
x, y | 합칠 데이터 셋 |
by | 기준이 될 열 이름 |
all | 겹치지 않는 행이 존재할 시 살려둘지, 삭제할지를 정함 |
all.x | x 데이터 셋의 겹치지 않는 행을 살려둠 (TRUE일 경우) |
all.y | y 데이터 셋의 겹치지 않는 행을 살려둠 (TRUE일 경우) |
aero.meteo = merge(aero, meteo.slct, by = "Time", all = T) #분단위 평균의 gas와 aero 자료를 병합
argument | 설명 |
---|---|
x | 계산할 항목 |
by | 그룹화할 항목 |
FUN | 계산할 함수 (mean, median, max, min, …) |
na.action | 자료 중에 NA가 포함되었을 시 처리 방법 |
d.aero = aggregate(aero.meteo[,3:25], by = list(format(aero.meteo$Time, "%Y-%m-%d")), FUN = mean, na.rm = T) # 부분합 결과를 mi.aero에 할당
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
## Warning in mean.default(X[[i]], ...): 인자가 수치형 또는 논리형이 아니므로 NA를
## 반환합니다
d.aero$Group.1[1]
## [1] "2020-12-15"
d.aero$Group.1 = as.POSIXct(d.aero$Group.1, tz= "Asia/Seoul") # mi.aero$Group.1을 시간형식으로 변환 as.POSIXlt 함수 사용용
d.aero$Group.1[1]
## [1] "2020-12-15 KST"
argument | 설명 |
---|---|
x | 저장할 데이터 프레임 |
file | 저장할 파일명 |
append | 기존 파일 뒤에 병합하여 저장하는 옵션, 논리형 (T 또는 F) |
sep | 각 열의 구분자 (seperator) |
row.names | 행 이름 (주로 NA로 지정) |
col.names | 열 이름 (주로 지정하지 않음) |
fileEncoding | 파일 encoding 형식 (주로 지정하지 않음) |
write.csv(file = "sample_data_dd.csv", d.aero, row.names = F) # 행번호를 없애기 위해 F를 씁니다.
write.csv(file = "sample_data.csv", aero.meteo, row.names = F) # 행번호를 없애기 위해 F를 씁니다.