본문 바로가기
반응형

R 주제221

[R강의] 176. formula 를 문자열로 입력하기 formula 가 무엇인지 모르는 분들을 위해 간단히 설명하겠습니다. iris 데이터가 있다고 합시다. data=iris iris 데이터에는 아래와 같은 변수들이 있습니다. > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa Species 를 독립변수로 하여 Sepal.Length 의 boxplot 을 그리고 싶다면 아래와 같은 코드를 사용하면 됩니다. boxplot.. 2023. 8. 29.
[R강의] 175. 데이터프레임에서 특정 값이 포함된 행 제거하기 아래와 같은 데이터프레임이 있다고 합시다. id=c('A','B','C','D','E') height=c(156,176,167,189,196) weight=c(65,77,84,67,75) df=data.frame(id,height,weight) > df id height weight 1 A 156 65 2 B 176 77 3 C 167 84 4 D 189 67 5 E 196 75 id가 C인 행을 제거하고 싶다고 합시다. id가 C인 행을 제거하는 방법은 아래와 같습니다. df=df[ !(df['id']=='C'),] !(df['id']=='C')는 id가 C가 아닌 경우를 TRUE, id가 C인 경우를 FALSE로 반환하는 벡터입니다. 이 벡터를 행 인덱스 자리에 입력하면 TRUE인 경우인 C가 아닌 .. 2023. 8. 29.
[R강의] 174. 특정 문자로 벡터 원소 연결해서 문자열로 만들기 아래와 같은 벡터가 있다고 합시다. v=c("HEIGHT","WEIGHT","INCOME") 위 원소들을 특정 기호를 이용하여 연결하여 하나의 문자열을 만들어봅시다. 아래와 같은 코드를 사용합니다. > paste(v,collapse='+') [1] "HEIGHT+WEIGHT+INCOME" 2023. 8. 29.
[R강의] 173. 데이터프레임 인덱싱에서 df[3, ] 와 df['3', ] 의 차이 아래 두 인덱싱을 봅시다. df[3, ] df['3', ] 세번째 행을 인덱싱한다는 의미로 두 코드가 같아 보이지만 전혀 다른 코드입니다. df[3, ] 는 세번째 행을 인덱싱한다는 의미이고, df['3', ] 는 이름이 3인 행을 인덱싱한다는 의미입니다. 일반적으로는 세번쨰 행의 이름이 3이기 때문에 결과가 같지만, 행 이름이 달라지는 경우에는 위 두 코드를 구분해주어야 합니다. 아래와 같은 데이터프레임이 있다고 합시다. id=c('A','B','C','D','E') height=c(156,176,167,189,196) weight=c(65,77,84,67,75) df=data.frame(id,height,weight) 행 이름을 아래와 같이 바꾸겠습니다. rownames(df)=c(3,2,1,4,5).. 2023. 8. 29.
[R강의] 172. 결측치를 평균값으로 대체하기 (ifelse) 벡터나 데이터프레임에 있는 결측치를 평균값으로 대체하는 방법을 알아봅시다. ifelse 문이 사용되므로 ifelse문을 먼저 배워보겠습니다. 1. ifelse 문 ifelse 문은 아래와 같이 사용합니다. ifelse(테스트,참일경우반환,거짓일경우반환) 예를 들면 아래와 같습니다. > ifelse(1==2,1,0) [1] 0 1==2는 거짓이므로 0을 반환합니다. 테스트 자리에 벡터를 넣으면 각 원소별로 테스트가 수행되어 값이 반환됩니다. > v=c(1,2,3,4,5) > ifelse(v==1,1,0) [1] 1 0 0 0 0 v의 각 원소를 1과 비교하여 같으면 1, 다르면 0이 출력됩니다. 2. 벡터의 결측치를 평균값으로 대체 아래와 같은 벡터가 있다고 합시다. v1=c(1,2,NA,4,NA) 벡터의.. 2023. 8. 29.
[R강의] 171. R스튜디오 유용한 단축키 (주석, 줄맞춤, 실행, 콘솔창 지우기) 1. 주석 Ctrl + Shift + C 2. 줄 맞춤 Ctrl + Shift + A 3. 실행 블록 씌운 뒤 Ctrl + Enter 4. 콘솔 창 지우기 Ctrl+l (영어 엘) 2023. 8. 29.
[R강의] 170. 산점도 점에 좌표와 점이름 출력하는 방법 (bquote) 먼저 산점도를 하나 그려봅시다. x=c(1,2,4,4,1) y=c(1,3,6,2,1) plot(x,y,xlim=c(0,5),ylim=c(0,6)) 각 점의 좌표를 먼저 화면에 출력해봅시다. x=c(1,2,4,4,1) y=c(1,3,6,2,1) plot(x,y,xlim=c(0,5),ylim=c(0,6)) for (i in 1:length(x)){ text(x[i],y[i],labels=paste0('(',x[i],',',y[i],')'),pos=1,cex=0.8) } 각 점의 이름을 순서 대로 P1부터 이름을 붙이겠습니다. $P_1(1,1)$ 과 같은 형태로 출력해봅시다. bquote 에서 ~은 한칸을 띄우고 연결하는 것이고, *은 공백 없이 연결한다는 뜻입니다. 변수를 입력할 때는 .(변수)형태로 입력하.. 2023. 8. 29.
[R강의] 169. 그래프에 for문을 이용하여 아래첨자를 변수로 입력하기 (bquote) 아래와 같은 그래프가 있다고 합시다. x=c(1,2,4,4) y=c(1,3,6,2) plot(x,y,xlim=c(0,5),ylim=c(0,6)) 각 점을 $P_{1}$~$P_{4}$라고 두고, 점 아래에 점 이름을 출력하고 싶은 상황입니다. for문을 사용할 것인데요. 이 경우에는 expression 함수가 아닌 bquote 함수를 사용해야 합니다. 아래와 같이 사용합니다. [ ] 는 아래첨자라는 의미이고, .(i)는 i를 변수로 입력받는다는 의미입니다. x=c(1,2,4,4) y=c(1,3,6,2) plot(x,y,xlim=c(0,5),ylim=c(0,6)) for (i in 1:length(x)){ text(x[i],y[i],labels=bquote(P[.(i)]),pos=1,cex=0.8) } 2023. 8. 29.
[R강의] 168. 그래프에 아래첨자,위첨자 넣는 방법 (exprssion) 아래와 같이 이차함수의 그래프를 하나 그려줍니다. x=seq(-4,4,0.01) y=x^2 plot(x,y,type='l') 그래프 제목을 $y=x^2$으로 하고 싶은 상황입니다. 위첨자를 넣어야 합니다. 위첨자는 아래와 같이 넣어줄 수 있습니다. x=seq(-4,4,0.01) y=x^2 plot(x,y,type='l',main=expression(y==x^2)) 아래첨자는 아래와 같이 넣습니다. x=seq(-4,4,0.01) y=x^2 plot(x,y,type='l',main=expression(y==x[2])) 2023. 8. 29.
[R강의] 167. 다른 파일에 정의된 함수 불러와서 사용하기 (source) R파일을 하나 만들어줍니다. myfunctions.R 이라는 이름으로 아래 경로에 저장하겠습니다. C:\Users\Public\Documents 원하는 함수들을 정의합니다. 여러개 정의해도 됩니다. myfun1=function(a,b){ return(a+b) } myfun2=function(a,b){ return(a*b) } myfun3=function(a,b){ return(a+b^2) } 다른 R파일에서 위 함수들을 불러올건데요. source 함수가 사용됩니다. 먼저 다른 R파일을 하나 열어줍니다. 아래 코드를 이용하여 위에서 정의한 함수들을 불러옵니다 . source("C:/Users/Public/Documents/myfunctions.R") 아래와 같이 함수들이 작동하는 것을 알 수 있습니다. >.. 2023. 8. 29.
[R강의] 166. 개월에 따른 시계열 그래프 그리기 (ggseasonplot) 1. 패키지 설치하고 불러오기 #패키지 설치 install.packages('forecast') install.packages('readxl') #패키지 불러오기 library('forecast') library('readxl') 2. 데이터 불러오기 아래 엑셀 데이터를 불러올 겁니다. 다운로드 하시고 원하는 경로에 넣어주세요. 엑셀 데이터는 아래와 같이 불러옵니다. df head(df) date income 1 2020-01-01 1 2 2020-02-01 6 3 2020-03-01 6 4 2020-04-01 2 5 2020-05-01 3 6 2020-06-01 5 2020년 부터 월별 매출액입니다. 3. 데이터 변환 ts 데이터 형태로 바꿔줍시다. tsr=ts(df['income'],start=202.. 2023. 8. 29.
[R강의] 165. 데이터프레임의 특정 열을 기준으로 결측치를 제거하는 방법 데이터프레임을 하나 만들어봅시다. v1=c(1,2,NA,4,NA) v2=c(10,20,NA,NA,50) df=data.frame(v1,v2) > df v1 v2 1 1 10 2 2 20 3 NA NA 4 4 NA 5 NA 50 결측치를 제거할 건데요. NA가 포함된 모든 행을 제거하는 방법은 간단합니다. na.omit 함수를 적용하면 됩니다. > na.omit(df) v1 v2 1 1 10 2 2 20 오늘 우리가 하고 싶은 것은 이게 아닙니다. 특정 열을 기준으로 결측치를 제거하고 싶습니다. 예를 들어 1열을 기준으로 결측치를 제거하면 3,5행만 제거되는 것입니다. 1열을 기준으로 결측치를 제거하는 방법을 알아봅시다. 먼저 1열의 원소들이 NA인지 여부를 논리값으로 출력해봅시다. > is.na(df$v.. 2023. 8. 29.
[R강의] 164. 데이터프레임의 결측치 위치를 알려주는 함수 만들어보기 아래와 같은 데이터프레임이 있다고 합시다. v1=c(NA,2,3,4,NA) v2=c(10,20,NA,NA,50) df=data.frame(v1,v2) > df v1 v2 1 NA 10 2 2 20 3 3 NA 4 4 NA 5 NA 50 긱 원소의 결측치 여부를 확인하는 것은 is.na 로 가능합니다. > is.na(df) v1 v2 [1,] TRUE FALSE [2,] FALSE FALSE [3,] FALSE TRUE [4,] FALSE TRUE [5,] TRUE FALSE 오늘 하고 싶은 것은 결측치의 위치를 출력해주는 함수를 만드는 것입니다. 위 데이터 프레임을 예로 들면 아래와 같이 출력되는 것입니다. 1,1 3,2 4,2 5,1 함수를 만들기 전에 먼저 데이터프레임의 NA 위치를 출력해주는 코드를.. 2023. 8. 29.
[R강의] 163. 벡터 결측치의 위치를 알려주는 함수 만들기 아래와 같은 벡터가 있다고 합시다. v=c(NA,2,3,4,NA) 결측치 여부를 확인하는 것은 is.na 로 가능합니다. > is.na(v) [1] TRUE FALSE FALSE FALSE TRUE 오늘 하고 싶은 것은 결측치의 위치를 출력해주는 함수를 만드는 것입니다. 위 벡터를 예로 들면 결측치의 위치인 1과 5를 출력해주는 것입니다. 함수를 만들기 전에 먼저 하나의 벡터의 NA 위치를 출력해주는 코드를 짜봅시다. 아래와 같습니다. v=c(NA,2,3,4,NA) res=c() for (i in 1:length(v)){ if (is.na(v[i])){ res=append(res,i) } } v[i] 가 NA 인 경우에 i를 res에 추가하는 코드입니다. 예를들어 v[3]이 NA라면 3이 res에 추가됩.. 2023. 8. 29.
[R강의] 162. 데이터프레임 특정 열을 기준으로 오름차순, 내림차순 정렬하기 데이터프레임을 오름차순 또는 내림차순으로 정렬할 때는 order 라는 함수가 사용됩니다. 먼저 order 함수를 이해해봅시다. 1. order 함수와 벡터의 오름차순,내림차순 정렬 아래와 같이 벡터를 두개 정의합시다. v1=c(1,2,1,3,2) v2=c(20,10,10,10,30) v1에 order 함수를 적용해봅시다. > order(v1) [1] 1 3 2 5 4 v1을 오름차순 정렬 했을 때, 각 원소가 몇번 째 오게 되는지를 반환합니다. 만약 order(v1)의 결과를 아래와 같이 인덱스로 사용한다면, 오름차순으로 정렬하는 효과를 얻습니다. > v1[order(v1)] [1] 1 1 2 2 3 내림차순 정렬은 아래와 같이 하면 됩니다. > v1[order(v1,decreasing=TRUE)] [1.. 2023. 8. 29.
[R강의] 161. 데이터프레임 행과 열을 제거하는 방법 데이터프레임을 하나 정의합시다. v1=c(1,2,1,3,2) v2=c(20,10,10,10,30) v3=c('a','b','c','d','e') df=data.frame(v1,v2,v3) > df v1 v2 v3 1 1 20 a 2 2 10 b 3 1 10 c 4 3 10 d 5 2 30 e 1. 열 제거하는 방법 첫번째 열을 제거하는 방법은 아래와 같습니다. 제거하고 싶은 열의 번호에 마이너스를 붙이고 인덱싱하면 됩니다. > df[-1] v2 v3 1 20 a 2 10 b 3 10 c 4 10 d 5 30 e 아래와 같이 콤마를 넣어도 됩니다. > df[,-1] v2 v3 1 20 a 2 10 b 3 10 c 4 10 d 5 30 e 첫번째 열과 세번째 열을 제거하는 방법은 아래와 같습니다. > df[.. 2023. 4. 26.
[R강의] 160. 데이터프레임 행의 순서를 바꾸는 방법과 원리 데이터 프레임을 하나 정의합시다. v1=c(1,2,3,4,5) v2=c('a','b','c','d','e') df=data.frame(v1,v2) > df v1 v2 1 1 a 2 2 b 3 3 c 4 4 d 5 5 e 순서를 바꿀 때는 데이터프레임의 인덱싱을 사용합니다. 인덱싱의 원리를 이해하면 순서를 바꾸는 원리도 이해할 수 있습니다. 데이터프레임 df 의 첫번째와 두번째 행만 가져와 봅시다. > df[c(1,2),] v1 v2 1 1 a 2 2 b 이번에는 순서를 바꿔서 두번째 행과 첫번째 행을 가져와봅시다. > df[c(2,1),] v1 v2 2 2 b 1 1 a 인덱싱 c(2,1) 의 의미는 두번째 행과 첫번째 행을 순서대로 가져오라는 의미입니다. 이 원리를 이용하면 데이터프레임 행의 순서를 바.. 2023. 4. 26.
[R강의] 159. 벡터 원소를 제거하는 방법 벡터를 하나 정의합시다. v=c('a','b','c','d','e') 첫번째 원소를 제거하는 방법은 인덱싱을 위한 대괄호에 -1을 입력하는 것입니다. > v[-1] [1] "b" "c" "d" "e" 이번에는 여러개 원소를 동시에 제거해봅시다. 두번째와 세번째 원소를 제거하는 방법은 아래와 같습니다. > v[c(-2,-3)] [1] "a" "d" "e" 단순히 결과만 출력하는 것이 아니라 벡터 v를 변경하려면 결과를 v에 넣어주면 됩니다. > v=v[c(-2,-3)] > v [1] "a" "d" "e" 2023. 4. 26.
[R강의] 158. 벡터 원소의 순서를 바꾸는 방법과 원리 아래와 같은 벡터가 있다고 합시다. v=c('A','B','C') 순서를 B,A,C 로 바꾸고 싶다면 아래와 같이 하면 됩니다. > v[c(2,1,3)] [1] "B" "A" "C" 인덱싱을 이용한 것인데요. c(2,1,3) 을 인덱스로 입력하면 두번째, 첫번째,세번째 순서로 원소를 가져와 벡터 형태로 나열하게 됩니다. 아래와 같이 입력하면 어떻게 출력될까요? v[c(2,1,2)] B,A,B 가 출력됩니다. 인덱스를 중복으로 입력해도 된다는 것을 알 수 있습니다. 2023. 4. 26.
[R강의] 157. 벡터의 오름차순, 내림차순 정렬 하는 방법 (sort) 벡터를 하나 정의합시다. v=c(1,3,2,4,5) 오름차순 정렬할 때는 sort 함수를 사용합니다. > sort(v) [1] 1 2 3 4 5 내림차순 정렬할 때도 sort 함수를 사용합니다. decreasing 옵션을 TRUE로 설정하면 됩니다. > sort(v,decreasing=TRUE) [1] 5 4 3 2 1 2023. 4. 26.
[R강의] 156. 결측치를 확인하는 두가지 함수 (complete.cases, is.na) 결측치를 확인하는 함수는 두 가지가 있습니다. complete.cases 와 is.na 함수입니다. complete.cases 는 결측치를 FALSE로 반환하고, is.na 는 결측치를 TRUE 로 반환합니다. 1. 벡터 결측치 벡터로 예를 들어봅시다. NA가 포함된 벡터를 만들겠습니다. v=c(1,NA,NA,4,5) complete.cases 함수를 적용해봅시다. > complete.cases(v) [1] TRUE FALSE FALSE TRUE TRUE is.na 함수를 적용해봅시다. > is.na(v) [1] FALSE TRUE TRUE FALSE FALSE 2. 데이터프레임 결측치 두 함수 모두 데이터프레임에도 사용 가능합니다. NA가 포함된 데이터프레임을 하나 만들어봅시다. df=data.fram.. 2023. 4. 25.
[R강의] 155. 데이터프레임의 여러 열을 합쳐서 변수와 값으로 만들기 (melt) 데이터프레임의 여러 열을 합쳐서 변수와 값으로 만드는 방법을 알아봅시다. 말이 좀 어렵죠? 그림으로도 준비했습니다. 왼쪽 데이터는 다섯 학생의 성별과 시험성적입니다. 네 과목의 시험성적인데요. 오른쪽 처럼 과목이라는 열과 점수라는 열로 바꿔보겠습니다. 오른쪽 처럼 바꾸면 데이터를 다루기가 편해집니다. 먼저 패키지를 하나 설치하고 불러옵시다. reshape2 라는 패키지입니다. 이 패키지 안에 있는 melt 함수를 사용할 겁니다. #패키지 설치 install.packages("reshape2") #패키지 불러오기 library(reshape2) 아래와 같이 데이터를 입력합시다. ID=c(1,2,3,4,5) SEX=c('M','M','F','F','F') ENG=c(65,55,45,95,78) MATH=c(.. 2023. 4. 15.
[R강의] 154. 문자열을 다른 문자열로 대체하기 (sub, gsub) sub와 gsub 함수는 문자열을 다른 문자열로 대체하는 함수입니다. sub는 대체하다라는 뜻의 substitute 의 약어인 것 같습니다. sub 함수는 가장 첫번째 문자만을 대체하고, gsub는 전체 문자를 대체합니다. g는 global 이 아닐까요. 예시를 통해 알아봅시다. 문자열 x를 하나 만들어봅시다. x='hi hi hi' sub 함수로 첫번째 문자 hi를 hello 로 바꿔봅시다. > sub('hi','hello',x) [1] "hello hi hi" 이번에는 gsub 함수로 모든 hi를 hello 로 바꿔봅시다. > gsub('hi','hello',x) [1] "hello hello hello" 2023. 4. 8.
[R강의] 153. 함수에 인자를 여러 조합으로 입력하는 방법 (mapply) mapply 함수는 이해하기가 까다로운 함수입니다. 한번 이해하면 쉬운데 감을 잡는 것이 다른 apply 함수들 보다 어렵습니다. 먼저 예시를 하나 봅시다. > mapply(rep,c(1,2,3),c(2,3,4)) [[1]] [1] 1 1 [[2]] [1] 2 2 2 [[3]] [1] 3 3 3 3 mapply 가 어떤 역할을 하는지 감이 오시나요? 출력 결과가 리스트라는 것은 알 수 있습니다. 위 함수가 입력되면 R에서 어떤 일이 벌어지는지 알아봅시다. mapply 함수의 소스를 뜯어본 것은 아니라 순서는 약간 다를 수 있습니다. 위 함수가 입력되면 R에서는 아래와 같은 일이 벌어집니다. 1) rep(1,2) 가 실행되어 리스트의 첫번째 원소로 들어갑니다. 2) rep(2,3) 이 실행되어 리스트의 두.. 2023. 4. 7.
[R강의] 152. 벡터의 그룹별로 함수 적용하기 (tapply) 아래와 같은 벡터가 있다고 합시다. v=c(1,2,3,4,5,6,7,8,9) 각 값들은 아래와 같은 그룹에 속한다고 합시다. 그룹은 factor로 정의합니다. f=factor(c('A','A','B','A','A','B','A','A','B')) tapply 함수를 이용하면 그룹별로 함수를 적용할 수 있습니다. 그룹 별로 평균을 구해봅시다. > tapply(v,f,mean) A B 4.5 6.0 2023. 4. 5.
[R강의] 151. 리스트의 각 원소에 함수 적용하기 (sapply, lapply) 리스트의 각 원소에 함수를 적용하는 방법은 두가지가 있습니다. sapply 와 lapply 함수입니다. sapply 함수는 결과를 벡터나 행렬 형태로 출력하고 lapply 함수는 결과를 리스트 형태로 출력합니다. 예제를 통해서 이해해봅시다. 먼저 리스트를 하나 정의합시다. Math=c(94,82,45,55,67) English=c(88,86,56,90,50) Science=c(87,76,65,43,55) li=list(Math,English,Science) > li [[1]] [1] 94 82 45 55 67 [[2]] [1] 88 86 56 90 50 [[3]] [1] 87 76 65 43 55 1. sapply 함수 sapply 함수는 아래와 같은 형식으로 사용합니다. sapply(리스트,함수) 리스.. 2023. 4. 4.
[R강의] 150. 데이터프레임의 열 방향으로 함수 적용하기 (apply, sapply, lapply) 데이터프레임의 열 방향으로 함수를 적용하는 방법은 무려 세가지가 있습니다. apply,sapply,lapply 입니다. 이들의 차이점은 결과를 출력하는 방식입니다. apply와 sapply 는 벡터나 행렬 형태로 결과로 출력하고 laaply 는 리스트 형태로 결과를 출력합니다. 복잡해 보이지만 예제를 통해 쉽게 이해할 수 있습니다. 먼저 데이터프레임을 하나 정의해봅시다. Math=c(94,82,45,55,67) English=c(88,86,56,90,50) Science=c(87,76,65,43,55) df=data.frame(Math,English,Science) > df Math English Science 1 94 88 87 2 82 86 76 3 45 56 65 4 55 90 43 5 67 50 .. 2023. 4. 3.
[R강의] 149. 벡터나 데이터프레임을 그룹별로 나눠 리스트에 저장 (split) split 함수는 벡터나 데이터프레임을 그룹별로 나눠 리스트에 저장해주는 함수입니다. 어떻게 사용되는지 알아봅시다. 1. 벡터를 그룹별로 나눠 리스트에 저장 아래와 같은 벡터가 있다고 합시다. v=c(1,2,3,4,5,6,7,8,9) 각 값들은 아래와 같은 그룹에 속한다고 합시다. 그룹은 factor로 정의합니다. f=factor(c('A','A','B','A','A','B','A','A','B')) split 함수를 사용해봅시다. > split(v,f) $A [1] 1 2 4 5 7 8 $B [1] 3 6 9 2. 데이터프레임을 그룹별로 나눠 리스트에 저장 위에서 정의한 벡터와 요인으로 데이터프레임을 만들어봅시다. df=data.frame(v,f) > df v f 1 1 A 2 2 A 3 3 B 4 4.. 2023. 3. 29.
[R강의] 148. with 함수와 그래프 (열이름을 표현식에 사용) with 함수란? with 함수가 무엇인지 알아보고, with 함수를 그래프와 어떻게 함께 사용되는지도 알아봅시다. with 함수의 기본적인 형태는 아래와 같습니다. with(data,표현식) data에는 데이터프레임이나 리스트가 올 수 있습니다. with 함수는 데이터프레임에 있는 열 이름을 표현식에 바로 사용할 수 있게 해주는 함수입니다. with 함수를 사용하기 위해 아래와 같은 데이터프레임을 하나 정의해봅시다. df=data.frame(A=c(1,2,3),B=c(4,5,6),C=c(7,8,9)) > df A B C 1 1 4 7 2 2 5 8 3 3 6 9 아래와 같이 코드를 입력해봅시다. 어떤 결과가 출력될까요? with(df, A) A가 출력됩니다. > with(df,A) [1] 1 2 3 벡.. 2023. 3. 28.
[R강의] 147. 데이터프레임 열 선택 쉽게 하기, 조건부여 (subset) 열 선택을 쉽게 하도록 해주는 함수가 있습니다. 열만 선택할 수도 있고, 특정 조건을 부여할 수도 있습니다. airquality 라는 데이터를 이용하여 subset 함수를 사용해봅시다. airquality 데이터는 아래와 같습니다. > head(airquality) Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14.9 66 5 6 1. 특정 열 선택 Ozone 열을 선택해봅시다. 아래와 같이 함수를 사용하면 됩니다. > subset(airquality,select=Ozone) Ozone 1 41.. 2023. 3. 27.
반응형