R 언어 학습 노트 (4)

6. 데이터 변환

       이 장에서는 Apply, lapply, sapply, tapply, mapply 및 자매 기능인 by 및 분할과 같은 적용 시리즈 기능을 주로 설명합니다. 루프 없이 데이터를 일괄 처리하는 데 적합합니다.

6.1 벡터 그룹화

요인(그룹화 요인)을 사용하여 다양한 요소 그룹을 식별합니다.

> 그룹 <—split(x, f) //x<—c(40,29,39),f<—factor(c(“A”,”B”,”A”))

벡터 목록을 반환합니다. 목록의 각 벡터에는 동일한 그룹에 속하는 요소가 포함되어 있습니다.

> 그룹 <—unstack(data.frame(x,f)) //벡터 목록에서 변환된 데이터 프레임을 반환합니다.

6.2 목록의 각 요소에 함수 적용하기

> lst <—lapply(lst, function) //목록 형식으로 반환

> vec <—sapply(lst, function) //가능한 경우 벡터 형식을 반환합니다.

6.3 행렬의 각 행에 함수 적용

> 결과 <—apply(mat, 1, function) //mat는 행렬이고 1은 행 단위를 의미합니다.

반환 결과는 벡터입니다.

6.4 행렬이나 데이터 프레임의 각 열에 함수 적용

> 결과 <—apply(mat, 2, function) //mat는 행렬, 2는 열 단위를 의미합니다.

> lst <—lapply(dfrm, function) //dfrm은 데이터 프레임이며 열 단위로 작동합니다.

> vec <—sapply(dfrm, 함수)

데이터 프레임의 요소가 동종인 경우 적용을 사용할 수도 있습니다.

6.5 그룹 데이터에 함수 적용하기

> tapply(x,f, function) //각 데이터 세트에 함수를 적용합니다.

6.6 행 그룹에 함수 적용

> by(dfrm, Fact, function) //fact 팩터는 dfrm의 각 행의 카테고리를 식별합니다. 함수의 매개변수는 데이터 프레임이어야 합니다. By는 해당 행을 임시 데이터 프레임에 넣은 후 함수를 호출합니다.

6.7 병렬 벡터 또는 리스트에 함수 적용하기

> mapply(gcd,c(1,2,3), c(9,6,3)) //각각 (1,9)(2,6)(3,3)의 최대 공약수를 찾습니다.

gcd는 두 숫자의 최대 공약수를 찾는 것이며 매개변수는 벡터화되지 않은 스칼라입니다.


 

7. 문자열과 날짜

날짜 및 시간 클래스: Date, POSIXct, POSIXlt, chron, lubridate, mondate, timeDate

7.1 문자열 길이 구하기

> nchar("Moe") //결과는 3입니다.

>length("Moe") //결과는 1이며, 필요한 문자열 길이는 아닙니다.

7.2 연결 문자열

> 붙여넣기(“모두”,“사랑합니다”, “통계”)

> Paste("Everybody", "loves", "stats.", sep="-") //연결의 중간 간격은 "-"입니다.

> Paste(vec, "loves", "stats.") // vec의 각 요소는 다음 문자열에 연결됩니다.

> Paste(vec,“loves”, “stats.”,collapse=”,and ”) //상단 구분 기호

7.3 부분 문자열 추출

> substr("Statistics",1, 4) //첫 번째 요소부터 시작하여 네 번째 요소로 끝나는 하위 문자열을 추출합니다.

> 도시<— c(“뉴욕, 뉴욕”, “로스앤젤레스, 캘리포니아”, “피오리아, 일리노이”)

>substr(cities, nchar(cities)-1, nchar(cities)) //결과는 "NY" "CA" "IL"입니다.

7.4 구분 기호를 기준으로 문자열 분할

> strsplit(string,delimiter) //구분자는 단순한 문자열 또는 정규식입니다.

7.5 교체용 스트링

> sub(old,new, string) //첫 번째 하위 문자열 교체

> gsub(old,new, string) //모든 하위 문자열 교체

7.6 문자열의 특수 문자 보기

cat으로 출력할 수 없다면 print를 사용하세요.

7.7 모든 쌍별 문자열 조합 생성(데카르트 곱)

> m <—outer(string1, string2, Paste, sep=”-”) //sep은 커넥터입니다.

7.8 현재 날짜 얻기

> 시스템.날짜()

7.9 문자열을 날짜로 변환

> as.날짜(“2014-10-23”)

>as.Date(“2014/10/23”, format=”%m/%d/%y”) //Date 형식이 확실하지 않을 때의 방법

7.10 날짜를 문자열로 변환

> 형식(시스템.날짜())

>as.character(Sys.Date()) //기본 형식에 따름

> format(Sys.Date(),format="%m/%d/%Y") //출력 문자열 형식을 지정합니다. "/" 및 "Y"에 주의하세요.

7.11 연도, 월, 일을 날짜로 변환

> ISOdate(년,월,일) //POSIXct 객체, 이 함수는 벡터 데이터를 처리할 수 있습니다.

> as.Date(ISOdate(년,월,일)) //Date 객체로 변환

7.12 율리우스력 날짜 얻기

율리우스력 날짜는 임의의 시작점(R에서는 1970년 1월 1일) 이후의 일수입니다.

>as.integer(as.Date(“2014-10-23”))

>julian(as.Date("2014-10-23")) //방법 2, 시작점을 동시에 출력

7.13 날짜 일부 추출

> p <— as.POSIXlt(as.Date(“2014-10-23”)) //날짜 및 시간 객체

> p$mday //지정된 날짜(1~31)에 해당하는 월의 일수

> p$sec //초(0~61)

> p$min //분(0~59)

> p$hour //시간(0~23)

> p$mon //월(0~11)

> p$year //연도(1900년 이후)

> p$wday //특정 요일(0~6, 일요일=0)

> p$yday //연중 특정일(0~365)

> p$isdst //일광 절약 시간 표시

7.14 날짜 시리즈 생성

> seq(from=s,to=e, by=1) //s와 e는 각각 시작 날짜와 종료 날짜입니다.

> seq(from=2,by=”month”, length.out=7) //7개의 날짜 나열

Guess you like

Origin blog.csdn.net/dy01dy/article/details/40402049