R for SAS and SPSS Users

10. Selecting Variables - Var, Variables =

10.1 Selecting Variables in SAS and SPSS

10.2 Selecting All Variables

> summary(mydata)

모든 변수를 이용하여 요약 통계량을 구함

10.3 Selecting Variables by Index Number

> summary(mydata[,3])
> summary(mydata[3])

셋째 열에 대한 통계 구하기

> summary(mydata[c(3,4,5,6)])

> summary(mydata[3:6])

3, 4, 5, 6열에 대한 통계 구하기

":"은 연속 숫자를 만들어 내는 연산자

> summary(mydata[-c(3,4,5,6)])
> summary(mydata[-(3:6)])
3, 4, 5, 6 열을 제외하고 통계 구하기

> myQindexes <- c(3:6)
> summary(mydata[myQindexes])
인덱스를 저장해 놓고, 반복적으로 사용한다.

> data.frame(names(mydata))
names함수를 이용하여 mydata의 변수며을 뽑아내서 data.frame으로 만들기

> summary(mydata[1:ncol(mydata)])
> summary(mydata[3:ncol(mydata)])

ncol 함수는 mydata의 열수를 알려줌

1열에서 끝까지, 3열에서 끝까지 모든 변수에 대하여 통계 구하기

10.4 Selecting Variables by Column Name

> names(mydata)

mydata의 변수 명을 나타냄

> summary(mydata[,"q1"])
> summary(mydata["q1"])
q1 열에 대한 통계 구하기

> summary(mydata[c("q1","q2","q3","q4")])
q1 ~ q4에 대한 통계 구하기

> myQnames <- paste("q", 1:4, sep = "")
앞에 붙일 문자, 뒤에 붙일 문자, 두 개 사이에 넣을 문자

> summary(mydata[myQnames])

통계 구하기

10. 5 Selecting Variable Using Logic

> summary(mydata[c(FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)])
셋 째 열만 통계 구하기

> summary(mydata[as.logical(c(0,0,1,0,0,0))])
0과 1을 논리 TRUE, FALSE로 사용하기 위하여 as.logical함수 필요

> names(mydata) == "q1"
names(mydata)의 각 원소 6개와 q1을 비교하여 맞으면 TRUE, 틀리면 FALSE 반환

> !names(mydata) == "q1"
!은 negation

> myQtf <- names(mydata) == "q1" |
names(mydata) == "q2" |
names(mydata) == "q3" |
names(mydata) == "q4"
> summary(mydata[myQtf])
myQtf에q1에서 q4까지를 참으로 하고, 다시 mydata에서 q1에서 q4에 대한 통계 구하기

> myQtf <- names(mydata) %in% c("q1","q2","q3","q4")
%in% 연산자를 이용하여 myQtf 만들기

10.6 Selecting Variables by String Search(varname: or varname1-varnameN)

> myQindexes <- grep("^q", names(mydata), value = FALSE)

1st 인자 : 정규 방정식(q로 시작하는), 2nd 인자 : 검색 대상 문자 벡터, 3rd 인자 : 변수 이름 반환할지 말지, 여기서는 인덱스 반환

> summary(mydata[myQindexes])

통계량 구함

> myQnames <- grep("^q", names(mydata), value = TRUE)

q로 시작하는 변수명 반환

> summary(mydata[myQnames])

통계량 구함

> myQtf <- names(mydata) %in% myQnames

q로 시작하는 변수명은 TRUE, 아니면 FALSE 반환

> summary(mydata[myQtf])

통계량 구함

> myQnames <- grep("^q[1-9]", names(mydata), value = TRUE)
q로 시작하고 그 다음에 숫자가 오는 변수 명 반환

> myQindexes <- grep(glob2rx("q*", names(mydata), value = FALSE)

윈도우즈에서 사용하는 검색 패턴 *를 정규방정식으로 변환하는 glob2rx 함수 이용

q로 시작하는 변수의 인덱스 반환

10.7 Selecting Variables Using $ Notation

> summary(mydata$q1)
mydata의 q1 열을 이용하여 통계 구하기

> summary(data.frame(mydata$q1, mydata$q2))

mydata의 q1열과 q2열을 이용하여 data frame 만들고 통계 구하기

10.8 Selecting Variables by Simple Name : attach and with

> attach(mydata)

자료 이름에 mydata$ 자동으로 붙인다.

mydata$를 여러번 붙일 것 같으면 사용

> summary(q1)

attach(mydata)가 앞에 있으므로 summary(mydata$q1)과 동일

> detach(mydata)

자료 이름에 mydata$ 자동으로 붙이는 것을 중지

> with(mydata,

summary(data.frame(q1,q2,q3,q4))

)

attach, detach를 한번에 하는 함수with

10.9 Selecting Variables with Subset Function(varname1-varnameN)

> subset(mydata, select = q1:q4)
q1에서 q4 변수만 반환

>summary(subset(mydata, select = q1:q4))
q1에서 q4 변수만 반환하여 통계 구함

>summary(subset(mydata, select = c(workshop,q1:q4)))

workshop, q1에서 q4 변수만 반환하여 통계 구함

10.10 Selecting Variable by List Index

data frame을 list로 간주할 수 있는데 그러면 [[]]을 사용

> summary(mydata[[3]])

셋째 변수를 반환하여 통계구함, [[]]을 사용할 경우 mydata[[3:6]]은 적용 안됨

10.11 Generating Indexes A to Z from Two Variables Names

> which(names(mydata) == "q1")

names(mydata) == "q1"은FALSE, FALSE, TRUE, FALSE, FALSE, FALSE를 만들어 내고 함수which는 TRUE가 몇 번째 인지 반환. 여기서는 3을 반환

> myqA <- which(names(mydata) == "q1")
> myqZ <- which(names(mydata) == "q4")
> summary(mydata[,myqA:myqZ])

myqA에 3을 할당하고,myqZ에 6을 저장, 3번째 변수에서 6번째 변수에 대한 통계 구하기

10.12 Saving Selected Variables to a New Dataset

> myqs <- mydata[3:6]

3번째에서 6번째 변수만 선택

> myqs <- mydata[c("q1","q2","q3","q4")]
q1, q2, q3, q4변수만 선택

> myqs <- data.frame(mydata$q1, mydata$q2, mydata$q3, mydata$q4)

q1, q2, q3, q4변수만 선택하나 변수명이 mydata.q1 ~ mydata.q4로 됨

> myqs <- data.frame(q1=mydata$q1, q2=mydata$q2, q3=mydata$q3, q4=mydata$q4)
q1, q2, q3, q4변수만 선택하고, 변수명을 q1 ~ q4로 함

> attach(mydata)
> myqs <- data.frame(q1, q2, q3, q4)
> detach(mydata)
attach를 사용하면 mydata$을 생략하여 타이핑을 줄일 수 있음

> myqs <- subset(mydata, select = q1:q4)
subset을 사용하기

프로그램 소스

# 10 Selecting Variable

# 10.1 Selecting Variables in SAS and SPSS

# 10.2 Selecting All Variables

mystring <-
"id,workshop,gender,q1,q2,q3,q4
1,1,f,1,1,5,1
2,2,f,2,1,4,1
3,1,f,2,2,4,3
4,2, ,3,1, ,3
5,1,m,4,5,2,4
6,2,m,5,4,5,5
7,1,m,5,3,4,4
8,2,m,4,5,5,5"
mydata <- read.table(textConnection(mystring),
header = TRUE,
sep = ",",
row.names = "id",
na.strings = " ")

summary(mydata)

# 10.3 Selecting Variables by Index Number

summary(mydata[,3])
summary(mydata[3])

summary(mydata[c(3,4,5,6)])
summary(mydata[3:6])

summary(mydata[-c(3,4,5,6)])
summary(mydata[-(3:6)])

myQindexes <- c(3:6)
summary(mydata[myQindexes])

data.frame(names(mydata))

summary(mydata[1:ncol(mydata)])
summary(mydata[3:ncol(mydata)])

# 10.4 Selecting Variables by Column Name

names(mydata)

summary(mydata["q1"])
summary(mydata[,"q1"])

summary(mydata[c("q1","q2","q3","q4")])

myQnames <- paste("q", 1:4, sep = "")
summary(mydata[myQnames])

# 10. 5 Selecting Variable Using Logic

summary(mydata[c(FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)])

summary(mydata[as.logical(c(0,0,1,0,0,0))])

names(mydata) == "q1"

!names(mydata) == "q1"

myQtf <- names(mydata) == "q1" |
names(mydata) == "q2" |
names(mydata) == "q3" |
names(mydata) == "q4"
summary(mydata[myQtf])

myQtf <- names(mydata) %in% c("q1","q2","q3","q4")

# 10.6 Selecting Variables by String Search

myQindexes <- grep("^q", names(mydata), value = FALSE)

summary(mydata[myQindexes])

myQnames <- grep("^q", names(mydata), value = TRUE)

summary(mydata[myQnames])

myQtf <- names(mydata) %in% myQnames

summary(mydata[myQtf])

myQnames <- grep("^q[1-9]", names(mydata), value = TRUE)

myQindexes <- grep(glob2rx("q*"), names(mydata), value = FALSE)

# 10.7 Selecting Variables Using $ Notation

summary(mydata$q1)

summary(data.frame(mydata$q1, mydata$q2))

# 10.8 Selecting Variables by Simple Name : attach and with

attach(mydata)

summary(q1)

detach(mydata)

with(mydata,
summary(data.frame(q1,q2,q3,q4))
)

# 10.9 Selecting Variables with Subset Function(varname1-varnameN)

subset(mydata, select = q1:q4)

summary(subset(mydata, select = q1:q4))

summary(subset(mydata, select = c(workshop,q1:q4)))

# 10.10 Selecting Variable by List Index

summary(mydata[[3]])

# 10.11 Generating Indexes A to Z from Two Variables Names

names(mydata) == "q1"

which(names(mydata) == "q1")

myqA <- which(names(mydata) == "q1")
myqZ <- which(names(mydata) == "q4")
summary(mydata[,myqA:myqZ])

# 10.12 Saving Selected Variables to a New Dataset

myqs <- mydata[3:6]

myqs <- mydata[c("q1","q2","q3","q4")]

myqs <- data.frame(mydata$q1, mydata$q2, mydata$q3, mydata$q4)

myqs <- data.frame(q1=mydata$q1, q2=mydata$q2, q3=mydata$q3, q4=mydata$q4)

attach(mydata)
myqs <- data.frame(q1, q2, q3, q4)
detach(mydata)

myqs <- subset(mydata, select = q1:q4)

실행 결과

> # 10 Selecting Variable
>
> # 10.1 Selecting Variables in SAS and SPSS
>
> # 10.2 Selecting All Variables
>
> mystring <-
+ "id,workshop,gender,q1,q2,q3,q4
+ 1,1,f,1,1,5,1
+ 2,2,f,2,1,4,1
+ 3,1,f,2,2,4,3
+ 4,2, ,3,1, ,3
+ 5,1,m,4,5,2,4
+ 6,2,m,5,4,5,5
+ 7,1,m,5,3,4,4
+ 8,2,m,4,5,5,5"
> mydata <- read.table(textConnection(mystring),
+ header = TRUE,
+ sep = ",",
+ row.names = "id",
+ na.strings = " ")
>
> summary(mydata)
workshop gender q1 q2 q3
Min. :1.0 f :3 Min. :1.00 Min. :1.00 Min. :2.000
1st Qu.:1.0 m :4 1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000
Median :1.5 NA's:1 Median :3.50 Median :2.50 Median :4.000
Mean :1.5 Mean :3.25 Mean :2.75 Mean :4.143
3rd Qu.:2.0 3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000
Max. :2.0 Max. :5.00 Max. :5.00 Max. :5.000
NA's :1.000
q4
Min. :1.00
1st Qu.:2.50
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00

>
> # 10.3 Selecting Variables by Index Number
>
> summary(mydata[,3])
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.00 3.50 3.25 4.25 5.00
> summary(mydata[3])
q1
Min. :1.00
1st Qu.:2.00
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00
Warning message:
closing unused connection 3 (mystring)
>
> summary(mydata[c(3,4,5,6)])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
> summary(mydata[3:6])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> summary(mydata[-c(3,4,5,6)])
workshop gender
Min. :1.0 f :3
1st Qu.:1.0 m :4
Median :1.5 NA's:1
Mean :1.5
3rd Qu.:2.0
Max. :2.0
> summary(mydata[-(3:6)])
workshop gender
Min. :1.0 f :3
1st Qu.:1.0 m :4
Median :1.5 NA's:1
Mean :1.5
3rd Qu.:2.0
Max. :2.0
>
> myQindexes <- c(3:6)
> summary(mydata[myQindexes])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> data.frame(names(mydata))
names.mydata.
1 workshop
2 gender
3 q1
4 q2
5 q3
6 q4
>
> summary(mydata[1:ncol(mydata)])
workshop gender q1 q2 q3
Min. :1.0 f :3 Min. :1.00 Min. :1.00 Min. :2.000
1st Qu.:1.0 m :4 1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000
Median :1.5 NA's:1 Median :3.50 Median :2.50 Median :4.000
Mean :1.5 Mean :3.25 Mean :2.75 Mean :4.143
3rd Qu.:2.0 3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000
Max. :2.0 Max. :5.00 Max. :5.00 Max. :5.000
NA's :1.000
q4
Min. :1.00
1st Qu.:2.50
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00

> summary(mydata[3:ncol(mydata)])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> # 10.4 Selecting Variables by Column Name
>
> names(mydata)
[1] "workshop" "gender" "q1" "q2" "q3" "q4"
>
> summary(mydata["q1"])
q1
Min. :1.00
1st Qu.:2.00
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00
> summary(mydata[,"q1"])
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.00 3.50 3.25 4.25 5.00
>
> summary(mydata[c("q1","q2","q3","q4")])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> myQnames <- paste("q", 1:4, sep = "")
> summary(mydata[myQnames])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> # 10. 5 Selecting Variable Using Logic
>
> summary(mydata[c(FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)])
q1
Min. :1.00
1st Qu.:2.00
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00
>
> summary(mydata[as.logical(c(0,0,1,0,0,0))])
q1
Min. :1.00
1st Qu.:2.00
Median :3.50
Mean :3.25
3rd Qu.:4.25
Max. :5.00
>
> names(mydata) == "q1"
[1] FALSE FALSE TRUE FALSE FALSE FALSE
>
> !names(mydata) == "q1"
[1] TRUE TRUE FALSE TRUE TRUE TRUE
>
> myQtf <- names(mydata) == "q1" |
+ names(mydata) == "q2" |
+ names(mydata) == "q3" |
+ names(mydata) == "q4"
> summary(mydata[myQtf])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> myQtf <- names(mydata) %in% c("q1","q2","q3","q4")
>
> # 10.6 Selecting Variables by String Search
>
> myQindexes <- grep("^q", names(mydata), value = FALSE)
>
> summary(mydata[myQindexes])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> myQnames <- grep("^q", names(mydata), value = TRUE)
>
> summary(mydata[myQnames])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> myQtf <- names(mydata) %in% myQnames
>
> summary(mydata[myQtf])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> myQnames <- grep("^q[1-9]", names(mydata), value = TRUE)
>
> myQindexes <- grep(glob2rx("q*"), names(mydata), value = FALSE)
>
> # 10.7 Selecting Variables Using $ Notation
>
> summary(mydata$q1)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.00 3.50 3.25 4.25 5.00
>
> summary(data.frame(mydata$q1, mydata$q2))
mydata.q1 mydata.q2
Min. :1.00 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00
Median :3.50 Median :2.50
Mean :3.25 Mean :2.75
3rd Qu.:4.25 3rd Qu.:4.25
Max. :5.00 Max. :5.00
>
> # 10.8 Selecting Variables by Simple Name : attach and with
>
> attach(mydata)
>
> summary(q1)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.00 3.50 3.25 4.25 5.00
>
> detach(mydata)
>
> with(mydata,
+ summary(data.frame(q1,q2,q3,q4))
+ )
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> # 10.9 Selecting Variables with Subset Function(varname1-varnameN)
>
> subset(mydata, select = q1:q4)
q1 q2 q3 q4
1 1 1 5 1
2 2 1 4 1
3 2 2 4 3
4 3 1 NA 3
5 4 5 2 4
6 5 4 5 5
7 5 3 4 4
8 4 5 5 5
>
> summary(subset(mydata, select = q1:q4))
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> summary(subset(mydata, select = c(workshop,q1:q4)))
workshop q1 q2 q3 q4
Min. :1.0 Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:1.0 1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :1.5 Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :1.5 Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:2.0 3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :2.0 Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> # 10.10 Selecting Variable by List Index
>
> summary(mydata[[3]])
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.00 3.50 3.25 4.25 5.00
>
> # 10.11 Generating Indexes A to Z from Two Variables Names
>
> names(mydata) == "q1"
[1] FALSE FALSE TRUE FALSE FALSE FALSE
>
> which(names(mydata) == "q1")
[1] 3
>
> myqA <- which(names(mydata) == "q1")
> myqZ <- which(names(mydata) == "q4")
> summary(mydata[,myqA:myqZ])
q1 q2 q3 q4
Min. :1.00 Min. :1.00 Min. :2.000 Min. :1.00
1st Qu.:2.00 1st Qu.:1.00 1st Qu.:4.000 1st Qu.:2.50
Median :3.50 Median :2.50 Median :4.000 Median :3.50
Mean :3.25 Mean :2.75 Mean :4.143 Mean :3.25
3rd Qu.:4.25 3rd Qu.:4.25 3rd Qu.:5.000 3rd Qu.:4.25
Max. :5.00 Max. :5.00 Max. :5.000 Max. :5.00
NA's :1.000
>
> # 10.12 Saving Selected Variables to a New Dataset
>
> myqs <- mydata[3:6]
>
> myqs <- mydata[c("q1","q2","q3","q4")]
>
> myqs <- data.frame(mydata$q1, mydata$q2, mydata$q3, mydata$q4)
>
> myqs <- data.frame(q1=mydata$q1, q2=mydata$q2, q3=mydata$q3, q4=mydata$q4)
>
> attach(mydata)
> myqs <- data.frame(q1, q2, q3, q4)
> detach(mydata)
>
> myqs <- subset(mydata, select = q1:q4)
>
>

파일

1292338940_R_for_SAS_and_SPSS_Users_10.R

+ Recent posts