5, 数据框 dataframe data.frame
创建
- data.frame()
- > a<-c(1,2,3,4,5)
- > b<-c('a','b','c','d','e')
- > c<-c(T,F,F,F,T)
- > x<-data.frame(a,b,c)
- > x
- a b c
- 1 1 a TRUE
- 2 2 b FALSE
- 3 3 c FALSE
- 4 4 d FALSE
- 5 5 e TRUE
PS: 子元素个数不同时会报错
- > a<-c(1,2,3,4,5,6,7)
- > b<-c('a','b','c','d','e')
- > c<-c(T,F,F,F,T)
- > x<-data.frame(a,b,c)
Error in data.frame(a, b, c) : 参数值意味着不同的行数: 7, 5
PS:dataframe 与其他语言中的 dataset 数据集类似
数据引用
- > x[c('a','c')]
- a c
- 1 1 TRUE
- 2 2 FALSE
- 3 3 FALSE
- 4 4 FALSE
- 5 5 TRUE
- > x[2:3]
- b c
- 1 a TRUE
- 2 b FALSE
- 3 c FALSE
- 4 d FALSE
- 5 e TRUE
- > x[2:3,2]
- [1] b c
- Levels: a b c d e
- > x[2:3,1]
- [1] 2 3
- > x[2:3,3]
- [1] FALSE FALSE
PS:$ 引用法
- > x$a
- [1] 1 2 3 4 5
attach() 与 detach()
- > attach(x)
- The following objects are masked _by_ .GlobalEnv:
- a, b, c
- > a
- [1] 1 2 3 4 5 6 7
- > b
- [1] "a" "b" "c" "d" "e"
- > c
- [1] TRUE FALSE FALSE FALSE TRUE
- > a[5]
- [1] 5
- > b[3]
- [1] "c"
- > detach(x)
- > a
- [1] 1 2 3 4 5 6 7
- > b
- [1] "a" "b" "c" "d" "e"
- > c
- [1] TRUE FALSE FALSE FALSE TRUE
- > remove(a,b)
- > remove(c)
- > a
- Error: object 'a' not found
- > b
- Error: object 'b' not found
- > attach(x)
- > a
- [1] 1 2 3 4 5
- > b
- [1] a b c d e
- Levels: a b c d e
- > detach(x)
- with()
- > with(x,{
- + m<-a[1]+a[5]
- + m
- + n<-paste(b[1],b[2],b[5],sep = '+')
- + n
- + })
- [1] "a+b+e"
- Usage
- data.frame(..., row.names = NULL, check.rows = FALSE,
- check.names = TRUE, fix.empty.names = TRUE,
- stringsAsFactors = default.stringsAsFactors())
来源: http://www.bubuko.com/infodetail-3043681.html