R语言数据框-dataframe的使用

     R语言知识点太多,只能一个一个的去理解,去应用,相信日积月累最后能达到熟练掌握,以下是在学习《统计建模与R软件》时做的笔记
1、数据框是R语言里中的一种数据结构,其内部可以由多种数据类型,每一列是一个变量,每行是一个观测记录。在R中数据框是很通用的数据结构,它是一种特殊的列表对象
2、初始化数据框

> mydataframe=data.frame(
+ name=c(\"张三\", \"李四\", \"王五\", \"赵六\", \"丁一\"),
+ sex=c(\"F\", \"F\", \"M\", \"M\", \"M\"),
+ age=c(16, 17, 18, 16, 19),
+ height=c(167.5, 156.3, 177.3, 167.5, 170.0),
+ weight=c(55.0, 60.0, 63.0, 53.0, 69.5)
+ );
> mydataframe
  name sex age height weight
1 张三   F  16  167.5   55.0
2 李四   F  17  156.3   60.0
3 王五   M  18  177.3   63.0
4 赵六   M  16  167.5   53.0
5 丁一   M  19  170.0   69.5


3、List数据可以转成dataframe

> mylist<-list(
+ name=c(\"张三\", \"李四\", \"王五\", \"赵六\", \"丁一\"),
+  sex=c(\"F\", \"F\", \"M\", \"M\", \"M\"),
+  age=c(16, 17, 18, 16, 19),
+  height=c(167.5, 156.3, 177.3, 167.5, 170.0),
+ weight=c(55.0, 60.0, 63.0, 53.0, 69.5)
+ );
> mylist
$name
[1] \"张三\" \"李四\" \"王五\" \"赵六\" \"丁一\"
$sex
[1] \"F\" \"F\" \"M\" \"M\" \"M\"
$age
[1] 16 17 18 16 19
$height
[1] 167.5 156.3 177.3 167.5 170.0
$weight
[1] 55.0 60.0 63.0 53.0 69.5
> mylist=as.data.frame(mylist)
> mylist
  name sex age height weight
1 张三   F  16  167.5   55.0
2 李四   F  17  156.3   60.0
3 王五   M  18  177.3   63.0
4 赵六   M  16  167.5   53.0
5 丁一   M  19  170.0   69.5

4、矩阵可以转化为数据框,如果原来有列名,那么列名将被改作为数据框的变量名,如果没有列名,那系统会自动为矩阵的各列起一个变量名,如:V1,V2,V3...

> x=array(1:12,c(3,4))
> x
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> x=as.data.frame(x)
> x
V1 V2 V3 V4
1 1 4 7 10
2 2 5 8 11
3 3 6 9 12


5、数据框的引用
(1)使用下标引用

> mydataframe[1:4,3:5]
age height weight
1 16 167.5 55
2 17 156.3 60
3 18 177.3 63
4 16 167.5 53


  说明:表示显示第1到第3行的第3到第5列的数据
(2)按列表名引用

> mydataframe[[\"weight\"]]
[1] 55.0 60.0 63.0 53.0 69.5
> mydataframe[[\"height\"]]
[1] 167.5 156.3 177.3 167.5 170.0
> mydataframe$height
[1] 167.5 156.3 177.3 167.5 170.0


(3)数据框的names的作用

> names(mydataframe)
[1] \"name\" \"dex\" \"age\" \"height\" \"weight\"
> mydataframe
name dex age height weight
1 张三 F 16 167.5 55.0
2 李四 F 17 156.3 60.0
3 王五 M 18 177.3 63.0
4 赵六 M 16 167.5 53.0
5 丁一 M 19 170.0 69.5
> rownames(mydataframe)=c(\"第一行\",\"第二行\",\"第三行\",\"第四行\",\"第五行\")
> mydataframe
name dex age height weight
第一行 张三 F 16 167.5 55.0
第二行 李四 F 17 156.3 60.0
第三行 王五 M 18 177.3 63.0
第四行 赵六 M 16 167.5 53.0
第五行 丁一 M 19 170.0 69.5
> colnames(mydataframe)=c(\"第一列\",\"第二列\",\"第三列\",\"第四列\",\"第五列\")
> mydataframe
第一列 第二列 第三列 第四列 第五列
第一行 张三 F 16 167.5 55.0
第二行 李四 F 17 156.3 60.0
第三行 王五 M 18 177.3 63.0
第四行 赵六 M 16 167.5 53.0
第五行 丁一 M 19 170.0 69.5


6、attach函数,数据框的主要用途是保存统计建模的数据,R的统计建模功能都需要以数据框为输入数据,我们可以把数据框当成一种矩阵来处理。在使用数据框的变量时可以使用“数据框名$变量名”来获取数据框的变量值。但是这种用法比较麻烦,R提供attach() 函数可以把数据框中的变量“连接”到内存中,这样便于数据框数据的调用。
(1)使用attach()函数将数据框加载到内存中

> attach(mydataframe)
> r=height/weight
错误: 找不到对象\'height\'
> r=\'第四列\'/\'第五列\'
错误于\"第四列\"/\"第五列\" : 二进列运算符中有非数值参数
> mydataframe=mylist
> attach(mydataframe)
> r=height/weight
> r
[1] 3.045455 2.605000 2.814286 3.160377 2.446043


(2)将新的变量添加到数据框中

> mydataframe
name sex age height weight
1 张三 F 16 167.5 55.0
2 李四 F 17 156.3 60.0
3 王五 M 18 177.3 63.0
4 赵六 M 16 167.5 53.0
5 丁一 M 19 170.0 69.5
> mydataframe$myR=height/weight
> mydataframe
name sex age height weight myR
1 张三 F 16 167.5 55.0 3.045455
2 李四 F 17 156.3 60.0 2.605000
3 王五 M 18 177.3 63.0 2.814286
4 赵六 M 16 167.5 53.0 3.160377
5 丁一 M 19 170.0 69.5 2.446043
> 
  • 14
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值