일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 그래프 데이터베이스
- RDD
- Python
- 딥러닝
- spark
- 연합학습
- 인공지능
- 그래프
- GraphX
- RStudio
- Cypher
- Graph Ecosystem
- graph database
- 분산 병렬 처리
- Graph Tech
- SQL
- TigerGraph
- graph
- 빅데이터
- SparkML
- 그래프 에코시스템
- GDB
- DeepLearning
- BigData
- 그래프 질의언어
- TensorFlow
- r
- GSQL
- Federated Learning
- Neo4j
- Today
- Total
Hee'World
R의 기본 자료형 본문
1. 벡터(vector)
한가지 데이터형만 저장할 수 있는 자료형 구조
> j <- c(1,2,3,4,1004)
> j
[1] 1 2 3 4 1004
> typeof(v)
[1] "double"
> typeof(j)
[1] "double"
>
>
> j <- c(1,2,3,4,1004)
> j
[1] 1 2 3 4 1004
>
> j[1]
[1] 1
> j[4]
[1] 4
> j[1:3]
[1] 1 2 3
>
2. 리스트(list)
벡터와 비슷하게 자료를 저장할 수 있는 자료형 구조이지만 여러종류의 데이터형을 리스트 형태로 저장 할 수 있는 구조
> j <- list(1,2,3,"jonghee")
> j
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "jonghee"
>
> typeof(j[4])
[1] "list"
> typeof(j[[4]])
[1] "character"
> typeof(j[[3]])
[1] "double"
>
>
> j <- list(name = "종희", age="27")
> j
$name
[1] "종희"
$age
[1] "27"
>
> j["name"]
$name
[1] "종희"
>
> j$name <- "종2"
> j
$name
[1] "종2"
$age
[1] "27"
>
3. 배열과 행렬
배열은 주로 3차원 이상의 데이터를 다룰 때 사용되고, 행렬은 수학에서의 행렬과 동일한 성격을 가지고 있는 데이터 구조며, 2차원 벡터를 다룬다. 벡터와는 차원 속성의 유무만 다르고 나머지는 동일하다.
> j <- array(1:3, c(2,5,2))
> j
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 2 1 3
[2,] 2 1 3 2 1
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 2 1 3 2 1
[2,] 3 2 1 3 2
>
> is.array(arr)
Error: object 'arr' not found
> is.array(j)
[1] TRUE
>
>
> jj <- matrix(1:10)
> jj
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
[5,] 5
[6,] 6
[7,] 7
[8,] 8
[9,] 9
[10,] 10
>
> jj2 <- matrix(1:10, nrow=2, ncol = 5)
> jj2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
>
> dim(jj)
[1] 10 1
> dim(jj) <- c(2,5)
> jj
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> jj[2,3]
[1] 6
>
> jj[2,]
[1] 2 4 6 8 10
> jj[,3]
[1] 5 6
> jj[c(1,2), c(1,2,3)]
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
>
> jj[,1,drop=FALSE]
[,1]
[1,] 1
[2,] 2
>
> jj[,1]
[1] 1 2
>
> jj
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> rownames(jj) <- c("1번","2번")
> colnames(jj) <- c("첫번째","두번째","세번째")
Error in `colnames<-`(`*tmp*`, value = c("첫번째", "두번째", "세번째")) :
length of 'dimnames' [2] not equal to array extent
> jj
[,1] [,2] [,3] [,4] [,5]
1번 1 3 5 7 9
2번 2 4 6 8 10
> colnames(jj) <- c("first","sencond","third","fourth",
+ "fifth")
>
> jj
first sencond third fourth fifth
1번 1 3 5 7 9
2번 2 4 6 8 10
>
4. 데이터프레임
R에서 가장 널리 활용되는 데이터 구조이며, 행렬과 유사하지만 행렬과는 다르게 각 열이 다른 데이터 타입을 가질 수 있다. sqldf라는 패키지를 이용하여 데이터프레임을 조작 할 수도 있다.
>
> jong <- data.frame(id = c("1004jonghee","Heeworld","hul","Zeon"), score = c(100,90,95,99)
+ )
>
> jong
id score
1 1004jonghee 100
2 Heeworld 90
3 hul 95
4 Zeon 99
> names(jong)
[1] "id" "score"
> dim(jong)
[1] 4 2
> str(jong)
'data.frame': 4 obs. of 2 variables:
$ id : Factor w/ 4 levels "1004jonghee",..: 1 2 3 4
$ score: num 100 90 95 99
> summary(jong)
id score
1004jonghee:1 Min. : 90.00
Heeworld :1 1st Qu.: 93.75
hul :1 Median : 97.00
Zeon :1 Mean : 96.00
3rd Qu.: 99.25
Max. :100.00
>
> nrow(jong)
[1] 4
> ncol(jong)
[1] 2
> jong[1,2]
[1] 100
> jong[1,c(1,2)]
id score
1 1004jonghee 100
> jong$score
[1] 100 90 95 99
>
> jong[jong$score > 95,]
id score
1 1004jonghee 100
4 Zeon 99
> jong[jong$id == "1004jonghee",]
id score
1 1004jonghee 100
>
>
> jong2 <- jong
> jong2[, "score"] <- jong2[,"score"] + 1
> jong2
id score
1 1004jonghee 101
2 Heeworld 91
3 hul 96
4 Zeon 100
>
> transform(jong, score = score+1)
id score
1 1004jonghee 101
2 Heeworld 91
3 hul 96
4 Zeon 100
>
>
--"R로 하는 데이터시각화" 참고 --
'Programming > R' 카테고리의 다른 글
sqldf 함수 (0) | 2014.03.29 |
---|---|
tapply, aggregate, by 함수 (0) | 2014.03.29 |
[R_Error] Error in loadNamespace(i, c(lib.loc, .libPaths())) : (0) | 2013.11.01 |
기초 통계 용어 (Outlier) (0) | 2013.10.31 |
R을 위한 기초 통계 (0) | 2013.10.29 |