본문 바로가기
반응형

9.유용한 함수모음70

R 문자열 알파벳을 전부 대분자로/소문자로 변경하는 법 R 문자열 알파벳을 전부 대분자로/소문자로 변경하는 법 R 문자열 알파벳을 전부 대분자로/소문자로 변경하는 함수는 아래와 같습니다. 대문자로 변경 : toupper( )소문자로 변경 : tolower( ) 예를 들어봅시다. > s="Hi Hello"'> tolower(s)[1] "hi hello"> toupper(s)[1] "HI HELLO" 2020. 12. 7.
R 문장에서 콤마(.) 일괄제거 R 문장에서 콤마(.) 일괄제거 모두바꾸기 함수인 gsub와 정규표현식을 함께 이용하면 됩니다. 단, fixed 옵션을 TRUE 로 놓아야 합니다. fixed 옵션은 정규표현식 반영 여부를 결정합니다. TRUE일 경우 정규표현식 무시, FALSE일 경우 정규표현식 반영인데, 콤마는 정규표현식이라서 FALSE로 할 경우 콤마를 정규표현식으로 인식하게 됩니다. 따라서 우리는 fixed를 TRUE로 설정해 콤마를 정규표현식이 아닌 문자로 인식하게 만들어야 합니다. 아래와 같은 문자열 벡터가 있다고 합시다. > s=c("hi.","hello.","pi.")> s[1] "hi." "hello." "pi." gsub 함수를 사용하여 콤마를 없애봅시다. > gsub(".","",s,fixed=TRUE)[1] "hi".. 2020. 12. 4.
R 첫문자 또는 마지막문자 일괄 변경 R 첫문자 또는 마지막문자 일괄 변경 모두바꾸기 함수인 gsub와 정규표현식을 함께 이용하면 됩니다. 첫문자만 바꾸려면 앞에 ^ 마지막문자만 바꾸려면 뒤에$를 붙여주면 됩니다. 예를들어 아래와 같은 문자열이 있다고 합시다. > s=c("hhpp","hhhppp","hhhhpppp")> s[1] "hhpp" "hhhppp" "hhhhpppp" gsub 함수를 정규표현식 없이 사용해봅시다. > gsub("h","v",s)[1] "vvpp" "vvvppp" "vvvvpppp" 모든 h가 v로 바뀝니다. 이번에는 ^정규표현식과 함께 사용해봅시다. > gsub("^h","v",s)[1] "vhpp" "vhhppp" "vhhhpppp" 처음 있는 h 만 v로 바뀝니다. 이번에는 마지막 p만 k로 바꿔봅시다. > g.. 2020. 12. 4.
R 단어 또는 숫자를 일괄 변경하기 (aka 모두바꾸기) R 단어 또는 숫자를 일괄 변경하기 (aka 모두바꾸기) R에서 단어 또는 숫자를 일괄 변경할 때는 gsub 함수를 사용합니다. global substitute 의 약어입니다. 아래와 같은 형식으로 사용합니다. sub(찾을내용,바꿀내용,데이터) 결과는 문자열로 반환합니다. 아래는 예시입니다. 335541243124 에서 3을 전부 10으로 바꿔봅시다. > gsub(3,2,335541243124 )[1] "225541242124" 3을 전무 문자 a로도 바꿀 수 있습니다. > gsub(3,"a",335541243124 )[1] "aa554124a124" 2020. 12. 4.
R 특정 경로에 있는 모든 파일 이름 출력 R 특정 경로에 있는 모든 파일 이름 출력 특정 경로에 있는 모든 파일 이름 출력할때는 아래 함수를 사용합니다. list.files(path="경로") 예를 들어봅시다. > list.files(path="C:/Users/Public") [1] "Desktop" "desktop.ini" "Documents" "Downloads" [5] "Favorites" "Foxit Software" "Libraries" "Music" [9] "myfile.txt" "Pictures" "Recorded TV" "Roaming" [13] "Sample" "Thumbs.db" "Videos" 숨김파일까지 보려면 all.files=TRUE 옵션을 추가하면 됩니다. 2020. 12. 1.
R 작업폴더에 있는 모든 파일 이름 출력 R 작업폴더에 있는 모든 파일 이름 출력 > list.files() 모든 파일 이름이 문자형 벡터로 출력됩니다. 2020. 12. 1.
R 출력함수 3가지 (print, cat, format) R 출력함수 3가지 (print, cat, format) print print 함수는 입력된 값을 출력하는 함수입니다. 아래와 같이 사용합니다. > print(33)[1] 33> print("HI")[1] "HI" 대표적인 arguments 는 아래와 같습니다. print(x, digits = getOption("digits"), quote = FALSE, na.print = "") digits : 소수점 이후 숫자의 개수quote : 문자열인 경우 따옴표 출력여부na.print : NA 를 어떻게 출력할지(디폴트는 그냥출력) cat 콤마를 이용하여 여러 값을 입력 받아 출력합니다. 아래와 같이 사용합니다. 입력받은 값을 파일로 저장할 수도 있습니다. > cat(1,2,3,"hi")1 2 3 hi 대표적.. 2020. 12. 1.
R 출력되는 숫자 소수점 자릿수 설정 R 출력되는 숫자 소수점 자릿수 설정 options 함수를 이용하여 digits 를 설정하면 출력 자릿수를 수정할 수 있습니다. > pi[1] 3.141593> options(digits=15)> pi[1] 3.14159265358979 2020. 12. 1.
[R] 루트, 지수, 로그 계산 [R] 루트, 지수, 로그 계산 루트 sqrt 함수 사용 > v1=c(1,2,3,4,5)> sqrt(v1)[1] 1.000000 1.414214 1.732051 2.000000 2.236068 로그 log 함수 사용 > v1=c(1,2,3,4,5)> log(v1)[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 지수 exp 함수 사용 > v1=c(1,2,3,4,5)> exp(v1)[1] 2.718282 7.389056 20.085537 54.598150 148.413159 2020. 11. 30.
R 에서 정의된 모든 변수를 한번에 삭제하는 방법 R 에서 정의된 모든 변수를 한번에 삭제하는 방법 R에서 정의된 모든 변수를 보는 방법은 아래와 같습니다. ls 함수를 이용하면 됩니다. > a=3> b=5> c=7> ls()[1] "a" "b" "c" 변수를 삭제할 때는 rm 함수를 이용합니다. 둘을 함께 사용하면 모든 변수를 삭제할 수 있습니다. > rm(list=ls())> ls()character(0) 2020. 11. 27.
R 에서 정의된 변수를 삭제하는 방법 (rm) R 에서 정의된 변수를 삭제하는 방법 (rm) 정의된 변수를 삭제할 때는 rm 함수를 사용합니다. 아래는 예시입니다. > a=5> rm(a)> aError: object 'a' not found 2020. 11. 27.
R 정의된 모든 변수와 함수 확인하는 방법 (ls) R 정의된 모든 변수와 함수 확인하는 방법 (ls) 사용자가 정의한 모든 변수와 함수를 확인할 때는 ls 함수를 사용합니다. 아래는 예시입니다. > ls()character(0)> a=3> b=5> f=function(x) (x+3)> ls()[1] "a" "b" "f" 2020. 11. 27.
R 문자열을 변수명으로 사용하는 방법 R 문자열을 변수명으로 사용하는 방법 R을 사용하다 보면 문자열을 변수명으로 사용해야 하는 경우가 종종 발생합니다. 제 경우는 함수나 그래프에 formula 를 입력하는 상황이었습니다. 예를들어 t검정을 한다고 합시다. t.test(y~x,data=mydata) 여기서 x값을 바꿔가면서 for문을 돌리고 싶었습니다. 예를들면 X자리에 P1, P2, P3 를 for문으로 넣고 싶은 상황입니다. x=c("P1","P2","P3) 로 정의하고, for문에 x[i] 로 넣을 경우 문자형으로 인식이 되서 오류가 뜹니다. 이럴 경우 사용하는 함수는 parse와 eval입니다. 아래와 같이 사용합니다. eval(parse(text = x[i])) 쉬운 예를 들면 아래와 같습니다 . > a=3> eval(parse(t.. 2020. 10. 7.
[R기초] 조건에 맞는 원소의 위치를 반환 (which 함수) [R기초] 조건에 맞는 원소의 위치를 반환 (which 함수) 1. 벡터 벡터와 비교연산자를 이용하여 조건을 대입하면, 해당 조건에 만족하는 원소의 위치를 반환합니다. > a=c(1,2,3,1,2,3) > which(a==3)[1] 3 6 > which(a>1)[1] 2 3 5 6 2. 데이터프레임 데이터프레임도 벡터와 원리는 같습니다. arr.ind 옵션을 TRUE로 설정하면 해당 원소의 행의 위치와 열의 위치를 각각 반환합니다. > df=data.frame(c1=c(1,2,3),c2=c(1,1,3),c3=c(1,2,2))> df c1 c2 c31 1 1 12 2 1 23 3 3 2 > which(df==1)[1] 1 4 5 7 > which(df==1,arr.ind=TRUE) row col[1,] 1.. 2020. 10. 5.
[R기초] 특정한 값과 일치하는 경우 TRUE 반환 (%in% 연산자) [R기초] 특정한 값과 일치하는 경우 TRUE 반환 (%in% 연산자) %in% 연산자는 특정 값과 일치하는 경우에는 TRUE, 일치하지 않는 경우 FALSE를 반환하는 연산자입니다. 사용방법은 아래와 같습니다. > a=1:10> a %in% c(1,2,3) [1] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 2020. 10. 5.
[R기초] 모든 문자를 대문자 또는 소문자로 바꿔주는 함수 [R기초] 모든 문자를 대문자 또는 소문자로 바꿔주는 함수 1. 모든 문자를 대문자로 toupper 함수를 사용합니다. > a="hello"> toupper(a)[1] "HELLO" 2. 모든 문자를 소문자로 tolower 함수를 사용합니다. > b="HELLO"> tolower(b)[1] "hello" 2020. 10. 5.
[R기초] 도움말 검색방법 (함수, 패키지 등) [R기초] 도움말 검색방법 (함수, 패키지 등) 1. 함수 도움말 함수에 대한 설명을 보고 싶은 경우 help 함수를 이용합니다. 예를들어 평균을 구해주는 mean 함수의 설명을 보고 싶으면 아래 명령어를 입력합니다. > help(mean) 또는 함수 앞에 물음표를 붙여도 됩니다. > ?mean 2. 패키지 도움말 패키지 도움말도 help 함수를 이용합니다. 다만 package 라는 명시를 해주어야 합니다. 예를들어 dplyr 패키지의 도움말을 보고 싶으면 아래 명령어를 입력합니다. > help(package="dplyr") 2020. 10. 5.
[R기초] 문자열을 특정 기준으로 쪼개기 [R기초] 문자열을 특정 기준으로 쪼개기 strsplit(문자열,쪼개는 기준) > a="This is my apple"> strsplit(a," ")[[1]][1] "This" "is" "my" "apple" 2020. 10. 5.
[R] apply 함수를 이용하여 이항 데이터로 변형하기 데이터프레임의 원소들을 한번에 이항데이터로 변경하는 방법입니다. 1) NA 여부에 따른 분류 먼저 데이터프레임을 하나 정의합시다. c1=c(1,2,3,NA,NA)c2=c(NA,NA,2,3,5)c3=c(3,NA,1,NA,6)df=data.frame(c1,c2,c3) > df c1 c2 c31 1 NA 32 2 NA NA3 3 2 14 NA 3 NA5 NA 5 6 NA와 NA가 아닌데이터 둘로 구분할 것입니다. NA인 경우를 FALSE, NA가 아닌 경우를 TRUE로 만들어봅시다. df_lgst=!(is.na(df_lgst)) > df_lgst c1 c2 c3[1,] TRUE FALSE TRUE[2,] TRUE FALSE FALSE[3,] TRUE TRUE TRUE[4,] FALSE TRUE FALSE[5,.. 2020. 9. 28.
[R 기초] 함수를 별도의 스크립트로 읽어오기 [R 기초] 함수를 별도의 스크립트로 읽어오기 함수가 긴 경우 외부 파일에 함수를 정의하고 스크립트에서 읽어오는 방법이 있습니다. 먼저 함수를 정의해야 하는데요. R에서 [File]-[New File]-[R Script] 로 새 창을 열어서 함수를 정의하시고 저장하셔도 되구요. 메모장에다 함수를 쓰고 저장하시고, 확장자만 R로 하시면 됩니다. 저장하실 때 파일 이름과 함수 이름을 동일하게 해주셔야 합니다. 안그러면 error가 발생합니다. 불러오실 때는, working directory에 파일이 있는 경우에는 아래와 같이 불러옵니다. 파일 이름이 my_fun.R 이라고 합시다. source("my_fun.R") 만약 함수가 working directory에 있지 않은 경우, working director.. 2020. 9. 26.
[R기초] apply 함수 (행, 열, 또는 각 원소에 함수를 일괄적용) [R기초] apply 함수 (행, 열, 또는 각 원소에 함수를 일괄적용) 먼저 데이터프레임을 하나 만들어봅시다. > myd=cbind(r1=1:10,r2=101:110,r3=1001:1110)> head(myd) r1 r2 r3[1,] 1 101 1001[2,] 2 102 1002[3,] 3 103 1003[4,] 4 104 1004[5,] 5 105 1005[6,] 6 106 1006 1) 가로 방향 일괄적용 (평균) 가로 방향의 평균을 구해봅시다. 아래와 같은 형식으로 입력합니다. apply(데이터,방향,함수) 방향은 1이 가로방향, 2가 세로방향입니다. > apply(myd,1,mean) [1] 367.6667 368.6667 369.6667 370.6667 371.6667 372.6667 373... 2020. 9. 23.
[R] 01,02,03,.. 형태의 벡터 만들기 [R] 01,02,03,.. 형태의 벡터 만들기 01,02,03,04...와 같은 벡터를 만드는 방법입니다. sprintf 함수를 사용합니다. ex) 01~50 까지의 벡터 num=sprintf("%02d", 1:50) 2020. 7. 29.
R 역순으로 배열하는 함수 R 역순으로 배열하는 함수 백터 원소를 역순으로 배열할 때는 rev함수를 사용합니다. > a=c(1,2,3,4,5) > rev(a) [1] 5 4 3 2 1 2020. 5. 29.
R 문자열에서 특정 문자/특수문자를 변경,제거하는 방법 R 문자열에서 특정 문자/특수문자를 변경,제거하는 방법 1) 특정 문자를 다른 문자로 변경 gsub("a", "b", data) > data="a123bb" > data=sub("a","k",data) > data [1] "k123bb" 2) 특정 문자를 제거 gsub("a", "", data) 4) 모든 특수문자 제거 gsub("[[:punct:]]", "", data) 5) 특정 특수문자만 제거 gsub("[\\$,]", "", data) 2020. 5. 16.
R에서 생성된 변수 목록을 확인하는 방법 R에서 생성된 변수 목록을 확인하는 방법 ls() 함수를 사용합니다. 아래는 예시입니다. > a=c(1,2,3) > b=c(4,5,6) > c=c(7,8,9) > ls() [1] "a" "b" "c" 2020. 5. 16.
R 데이터 수 확인하는 함수 총집합(length, dim, nrow, ncol) R 데이터 수 확인하는 함수 총집합(length, dim, nrow, ncol) 데이터의 수를 확인하는 함수는 네가지가 있습니다. 각함수의 의미를 먼저 간단히 알아봅시다. length : 길이 반환 dim : 차원반환 nrow : 행의 수 반환 ncol : 열의 수 반환 자료구조 별로 사용하는 함수가 다릅니다. 각각 알아봅시다. 1. 벡터, 요인의 데이터 수 확인 벡터의 데이터 수는 length 함수를 사용하면 알 수 있습니다. 나머지 함수들을 적용하면 어떻게 되는지도 알아봅시다. > vec=c(1,2,3,4,5) > length(vec) [1] 5 > dim(vec) NULL > nrow(vec) NULL > ncol(vec) NULL 요인(factor)도 벡터와 동일합니다. > fac=gl(2,3,l.. 2020. 5. 16.
R에서 숫자 혹은 문자만 분리하는 방법 (ab123 -> ab 혹은 ab123 -> 123) R에서 숫자 혹은 문자만 분리하는 방법 (ab123 -> ab 혹은 ab123 -> 123) gsub 함수를 사용합니다. 방법은 아래와 같습니다. 1) 숫자만 분리 > x="ab123" > gsub('\\D','', x) [1] "123" 숫자로 저장해봅시다. > x="ab123" > x_num=as.numeric(gsub('\\D','', x)) > x_num [1] 123 2) 문자만 분리 > x="ab123" > gsub('\\d','', x) [1] "ab" 2020. 5. 12.
[R 유용한 함수] 데이터의 그룹을 나눠주는 split 함수 데이터의 그룹을 나눠주는 split 함수 R에서 제공하는 split 함수는 데이터를 그룹으로 나눠줍니다. 말로 설명이 어려워서 예제를 통해 이해해봅시다. 먼저 아래와 같이 사람 열명의 이름으로 되어 있는 데이터를 만들어봅시다. name=c("KKH","LIK","JJI","AHK","BBK","SYJ","BJW","JDK","KII","SSI") 이제 이 사람들을 A,B,C 세개의 그룹으로 나눌 것입니다. 그룹 배정이 아래와 같이 되었다고 합시다. (factor가 아니라 vector 형태로 입력해도 됩니다. vector로 입력할 경우 drop 옵션 사용이 불가합니다. 이후 설명하겠습니다.) group=factor(c("A","B","A","C","C","A","B","B","A","C")) spilit .. 2020. 1. 18.
R에서 중복 제거하고 원소 종류만 알고 싶을 때, unique() R에서 중복 제거하고 원소 종류만 알고 싶을 때, unique() 예를들어 아래와 같이 과일 이름데이터가 있다고 해봅시다. fruits=c("apple","apple","banana","orange","orange","melon","apple","orange","banana") 어떤 과일이 들어 있는지 종류만 알고 싶을 때는 unique 함수를 사용하면 됩니다. > unique(fruits)[1] "apple" "banana" "orange" "melon" fromLast 옵션을 TRUE로 하면, 결과를 역순으로 출력할 수도 있습니다. > unique(fruits,fromLast=TRUE)[1] "melon" "apple" "orange" "banana" 2020. 1. 1.
R에서 column 접근 시 $없이 사용하는 방법 attach 함수 R에서 column 접근 시 $없이 사용하는 방법 attach 함수 데이터프레임이나 리스트를 사용할 때, 원하는 column에 접근하기 위해서는 데이터프레임이름$열이름 의 형식으로 접근해야하는데 번거로운 경우가 있습니다. 이럴 때 사용하는 함수가 attach함수입니다. 데이터프레임을 하나 정의합시다. > md=data.frame(c(1,2,3),c("a","b","c"))> names(md)=c("mynum","mychar")> md mynum mychar1 1 a2 2 b3 3 c 이 데이터프레임의 두번째 열이 char에 접근해보겠습니다. > md$mychar[1] a b cLevels: a b c mychar이라고 입력하면 아래와 같은 오류메시지가 뜹니다. > mycharError: object 'm.. 2019. 12. 30.
반응형