본문 바로가기
공부/R Programming

R기초; 데이터프레임 인덱싱 - 2

by 혼밥맨 2021. 1. 10.
반응형

R기초; 데이터프레임 인덱싱 - 2

# R기초; 데이터프레임 인덱싱 - 2

# 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

 

r <- iris$Sepal.Length / iris$Sepal.Width

head(r)

[1] 1.457143 1.633333 1.468750 1.483871 1.388889 1.384615

 

# with 함수 활용하기

with(iris, {

  print(summary(Sepal.Length))

  plot(Sepal.Length, Sepal.Width)

  plot(Petal.Length, Petal.Width)

})

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  4.300   5.100   5.800   5.843   6.400   7.900 

 

 

# with 함수 활용하기

with(iris, {

  stats <- summary(Sepal.Length)

  stats

})

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  4.300   5.100   5.800   5.843   6.400   7.900 

 

# with 함수 내에 있는 변수는 local variable 이다.

# with 함수 내에서 global variable로 선언하고 싶으면 '<-' 대신 '<<-'을 이용한다.

 

with (iris, {

  stats.nokeep <-sumamry(Sepal.Length)

  stats.keep <<- summary(Sepal.Length)

})

stats.nokeep     # 에러: 객체 'stats.nokeep'를 찾을 수 없습니다.

stats.keep

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  4.300   5.100   5.800   5.843   6.400   7.900 

 

 

# within() 함수 활용하기

iris$Sepal.Ratio <- iris$Sepal.Length / iris$Sepal.width

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

 

iris <- within(iris, Sepal.Ratio <- Sepal.Length / Sepal.Width)

head(iris)

 Sepal.Length Sepal.Width Petal.Length Petal.Width Species  Sepal.Ratio

1          5.1         3.5          1.4         0.2  setosa    1.457143
2          4.9         3.0          1.4         0.2  setosa    1.633333
3          4.7         3.2          1.3         0.2  setosa    1.468750
4          4.6         3.1          1.5         0.2  setosa    1.483871
5          5.0         3.6          1.4         0.2  setosa    1.388889
6          5.4         3.9          1.7         0.4  setosa    1.384615

 

# 메모리에 데이터 적재하기

attach(iris)

search()

 

r <- Sepal.Length / Sepal.Width

head(r)

[1] 1.457143 1.633333 1.468750 1.483871 1.388889 1.384615

 

# 메모리에 데이터 삭제하기

detach(iris)

search()

 

attach(iris)

iris$Sepal.Length <- 0

head(iris$Sepal.Length)

head(Sepal.Length)

[1] 5.1 4.9 4.7 4.6 5.0 5.4

detach(iris)

 

attach(iris)

Sepal.Width <- Sepal.Width * 10

head(Sepal.Width)

[1] 35 30 32 31 36 39

 

head(iris$Sepal.Width)

[1] 3.5 3.0 3.2 3.1 3.6 3.9

 

Sepal.Length <- c(4.5, 5.3, 6.7)

Sepal.Length

attach(iris) # 에러 발생: 같은 이름의 변수가 존재하기 때문에 충돌.

The following objects are masked _by_ .GlobalEnv:

 

 

반응형

'공부 > R Programming' 카테고리의 다른 글

R 기초; 텍스트  (0) 2021.01.13
R 기초; 데이터프레임 인덱싱-3  (0) 2021.01.10
R기초; 데이터프레임 인덱싱 - 1  (0) 2021.01.09
R 기초; 데이터프레임 확장  (0) 2021.01.09
R기초; 데이터프레임 생성  (0) 2021.01.06

댓글