R 의 데이터 구조 와 가 져 오기
데이터 구조
벡터
벡터 는 수치 형, 문자 형, 논리 형 을 저장 하 는 데 쓰 인 다.핵심 함 수 는 c () 로 아래 의 예제 에서 a, b, c 세 개의 벡터 는 각각 세 가지 서로 다른 유형의 데 이 터 를 부여 했다.같은 벡터 에서 데이터 형식 이 일치 해 야 합 니 다.그 밖 에 우 리 는 방 괄호 를 유연 하 게 활용 하여 벡터 중의 요 소 를 포 지 셔 닝 할 수 있다. R 에서 사칭 하 는 것 을 기억 해 야 한다. '는 수치 형 수열 을 생 성 하 는 뜻 을 나타 낸다. 2: 6 은 바로 2, 3, 4, 5, 6 의 수열 을 생 성 하 는 것 이다.
a c(9,1,8,2,7,3,6,4,5)
b c("a","z","b","y","c","x")
c c(T,T,T,T,F,F,F,F)
>a[3]
[1] 8
> b[c(1,3,6)]
[1] "a" "b" "x"
> c[3:6]
[1] TRUE TRUE FALSE FALSE
행렬
행렬 은 2 차원 배열 로 모든 요소 의 패턴 이 같 습 니 다. 함수 matrix 를 통 해 행렬 을 만 들 수 있 습 니 다. 형식 은:
m matrix(vector,nrow=a,ncol=b,byrow=T,dimnames=list(rownames,colnames))
이 문 구 는 a * b 의 행렬 을 만 들 고 벡터 를 줄 에 따라 채 울 수 있 습 니 다.by row = F 는 열 에 따라 채 워 집 니 다. 이것 도 기본 적 인 상황 입 니 다.행렬 의 생 성 을 완성 한 후에 우 리 는 괄호 를 이용 하여 원 소 를 추출 할 수 있다.예시:
rnames c("a","b","c","d")
cnames c("α","β","γ")
x matrix(1:12,nrow=4,ncol=3,byrow=T,dimnames=list(rnames,cnames))
> x
α β γ
a 1 2 3
b 4 5 6
c 7 8 9
d 10 11 12
> x[2,]
α β γ
4 5 6
> x[,3]
a b c d
3 6 9 12
> x[1,1]
[1] 1
> x[c(2,4),c(1,3)]
α γ
b 4 6
d 10 12
또한 array () 함수 로 다 차원 배열 을 만 들 수 있 습 니 다. 행렬 과 유사 하지만 차원 은 제한 되 지 않 습 니 다. dimensions = n 으로 n 차원 배열 을 지정 할 수 있 습 니 다. 여 기 는 더 이상 군말 하지 않 습 니 다.
데이터 상자
데이터 상 자 는 가장 흔히 볼 수 있 는 2 차원 구조 로 서로 다른 열 데이터 모델 은 다 를 수 있 지만 모든 열 데이터 모델 은 유일 하 게 요구 합 니 다.data. frame () 을 통 해 데이터 상 자 를 만 들 수 있 으 며, cbid (), rbind () 등 데이터 상 자 를 조작 하 는 함수 도 있 습 니 다. 기본 데이터 관리 에서 상세 하 게 설명 합 니 다. 여기 서 는 언급 하지 않 습 니 다.데이터 상 자 는 새로운 기 호 를 가 져 옵 니 다. $"dollar 달러 기 호 는 특정한 열의 이름 을 직접 참조 하여 이 열 을 추출 할 수 있 습 니 다. 또한, 우 리 는 table 함 수 를 사용 하여 데이터 상자 의 연결 표 에 맞 출 수 있 습 니 다. 예제:
ID c(1,2,3,4)
age c(23,25,39,52)
Type c(T,T,T,F)
status c("Excellent","Excellent","Improved","Poor")
pdata data.frame(ID,age,Type,status)
> pdata
ID age Type status
1 1 23 TRUE Excellent
2 2 25 TRUE Excellent
3 3 39 TRUE Improved
4 4 52 FALSE Poor
> pdata[1:2]
ID age
1 1 23
2 2 25
3 3 39
4 4 52
> pdata$status
[1] Excellent Excellent Improved Poor
Levels: Excellent Improved Poor
> table(pdata$Type,pdata$status)
Excellent Improved Poor
FALSE 0 0 1
TRUE 2 1 0
데이터 상자 의 작업 에 있어 서 두 가지 중요 한 함수 attach 와 with 가 있 습 니 다. 그들 은 불필요 한 입력 을 줄 일 수 있 습 니 다. 예 를 들 어 아래 세 단락 코드 의 기능 과 출력 은 똑 같 습 니 다.
summary(mtcars$mpg)
plot(mtcars$mpg,mtcars$disp)
plot(mtcars$mpg,mtcars$wt)
attach(mtcars)
summary(mpg)
plot(mpg,disp)
plot(mpg,wt)
detach(mtcars)
with(mtcars,
{
print(summary(mpg))
plot(mpg,disp)
plot(mpg,wt)
})
이들 의 한 계 는 attach 바 인 딩 시 작업 공간 에서 같은 이름 의 첫 번 째 대상 을 우선 연결 하기 때문에 작업 공간 에서 같은 이름 의 변수 가 많 을 때 따로 처리 해 야 한 다 는 것 이다. with 는 괄호 에서 작 동 하기 때문에 이 문제 가 발생 하지 않 지만 모든 할당 은 괄호 안에 만 적 용 됩 니 다. 전체 변 수 를 할당 하려 면 특수 할당 번 호 를 사용 해 야 합 니 다. "<
with(mtcars,
{
ns summary(mpg)
ks <summary(mpg)
})
> ns
: 'ns'
> ks
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.40 15.42 19.20 20.09 22.80 33.90
>
마지막 으로 주의해 야 할 것 은 데이터 상 자 를 생 성 할 때 row. names 매개 변수 로 ID 를 지정 하여 개 체 를 구분 할 수 있다 는 것 이다. 예 를 들 어:
pdata data.frame(ID,age,Type,status,row.names=ID)
출력 과 그래 픽 의 인 스 턴 스 이름 을 R 에 표시 하 는 변수 로 ID 를 지정 합 니 다.
인자
우 리 는 변수의 유형 을 연속 형 (Age), 명칭 형 (Type), 질서 성 (Status), 후 두 가 지 를 인자 라 고 할 수 있 습 니 다. 인 자 는 데이터 의 분석 방식 과 시각 적 표현 효 과 를 결정 합 니 다. 상기 pdata 의 예 를 따라 Type 과 status 를 인자 형 으로 바 꿉 니 다.
Type factor(Type)
status factor(status,order=T) # , order=T , , , levels=c()
pdata data.frame(ID,age,Type,status)
> str(pdata) #str()
'data.frame': 4 obs. of 4 variables:
$ ID : num 1 2 3 4
$ age : num 23 25 39 52
$ Type : Factor w/ 2 levels "FALSE","TRUE": 2 2 2 1
$ status: Ord.factor w/ 3 levels "Excellent"<"Improved"<..: 1 1 2 3
> summary(pdata)
ID age Type status
Min. :1.00 Min. :23.00 FALSE:1 Excellent:2
1st Qu.:1.75 1st Qu.:24.50 TRUE :3 Improved :1
Median :2.50 Median :32.00 Poor :1
Mean :2.50 Mean :34.75
3rd Qu.:3.25 3rd Qu.:42.25
Max. :4.00 Max. :52.00
str () 함수 가 제공 하 는 정보 에서 Type 과 status 는 인자 의 순서 속성 을 가지 고 있 으 며, summary 에 서 는 이 두 가지 속성 도 주파수 수치의 통계 정보 만 제공 하 는 것 을 볼 수 있다.
리스트
목록 은 서로 다른 데이터 구조의 조합 으로 벡터, 행렬 등 을 조합 하여 list () 를 통 해 만 들 수 있 습 니 다. 예 를 들 어:
mylist list(b,x,pdata,"RNG")
방금 전 벡터 b, 매트릭스 x, 데이터 상자 pdata, 문자 'RNG' 를 네 개의 원 을 가 진 목록 으로 조합 하여 양쪽 괄호 를 통 해 직접 참조 할 수 있 습 니 다.
> mylist
[[1]]
[1] "a" "z" "b" "y" "c" "x"
[[2]]
α β γ
a 1 2 3
b 4 5 6
c 7 8 9
d 10 11 12
[[3]]
ID age Type status
1 1 23 TRUE Excellent
2 2 25 TRUE Excellent
3 3 39 TRUE Improved
4 4 52 FALSE Poor
[[4]]
[1] "RNG"
> mylist[[2]]
α β γ
a 1 2 3
b 4 5 6
c 7 8 9
d 10 11 12
> mylist[[3]]$status
[1] Excellent Excellent Improved Poor
Levels: Excellent < Improved < Poor
많은 R 함수 가 실 행 된 결 과 를 list 형식 으로 되 돌려 주기 때문에 중요 한 데이터 구조 이기 도 합 니 다. 마지막 으로 함수 class () 는 현재 변수의 유형 을 판단 할 수 있 습 니 다.
데이터 입력
키보드 입력
키보드 입력 은 가장 원시 적 인 방법 입 니 다. edit () 함수 로 GUI 인 터 페 이 스 를 열 수 있 습 니 다.
구분자 가 있 는 파일 데이터
read. table () 함수 와 그 인 자 를 사용 하면 csv 와 유사 한 데 이 터 를 읽 을 수 있 습 니 다. 더 직접적인 것 은 read. csv 를 직접 사용 할 수 있 습 니 다. 인 자 는 다음 과 같 습 니 다.
read.table(header,sep,row.name,col.name,na.string,colClasses)
hearer = T / F 는 고 개 를 들 어야 하 는 지 여 부 를 표시 합 니 다. sep 는 구분자 이 고 기본 값 은 sep = "입 니 다. row. names 는 열 을 태그 로 지정 할 수 있 습 니 다. col, name 은 열의 이름 을 지정 할 수 있 습 니 다. na. string 은 일부 값 을 NA 로 바 꿀 수 있 습 니 다. 예 를 들 어 na. string ="? "은 물음 표를 NA 로 바 꿀 수 있 습 니 다. colClass 는 각 열의 유형 을 지정 할 수 있 습 니 다.첫 번 째 네 번 째 열 은 수치 형, 두 번 째 열 은 문자 형, 세 번 째 열 은 건 너 뜁 니 다. 데이터 가 네 열 보다 많 을 때 순환 합 니 다. read. table / read. csv 를 사용 하 는 데 는 많은 기술 이 있 습 니 다. help () 를 많이 사용 하 는 것 이 왕도 입 니 다.
엑셀 파일 읽 기
64 비트 Win 에서 엑셀 을 읽 는 것 이 좋 은 방법 은 csv 형식 으로 나 누 는 것 입 니 다. 다음은 xls 와 csv 형식의 상호 전환 방법 을 제공 합 니 다. xls 와 csv 변환: 다 중 워 크 시트 통합 과 분할
기타
이 밖 에 XLS, SPSS, SAS 등의 데이터 가 져 오기, 함수 호출 을 직접 조회 하면 됩 니 다. 데이터 베 이 스 를 조작 하려 면 RODBC 와 ROBC 패키지 가 ODBC 핑 계 를 만들어 야 합 니 다.
이로써 R 중의 데이터 구조 와 데이터 가 져 오기 방법 은 이미 명확 하 게 논술 되 었 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Github 프로필 Badge로 꾸미기앞으로 열심히 할 예정이니 많은 관심 부탁드립니다 😍😍 나의 머리로는 이해할 수 없는 코드들을 보며 머리가 꺠지려 할 때에, 학교 친구들의 github가 눈에 들어왔습니다. 인터넷에 나온 거로 많이 해 봤고 탬플릿도...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.