基本认识:
1.数据框组织数据的结构与矩阵相似。
2.各列的数据类型可以不相同。
3.数据框的每列是一个变量,每行是一个观测样本。
4.每列的长度必须相同。
1.创建数据框
比如你一开始没给行命名:
你可以写一行:
row.names(df) = c("第1行","第2行","第3行")
df
就变成了 创建的时候,也可以先写向量:
姓名<-c('刘能','大脚','永强')
成绩<-c('44','45','76')
籍贯<-c('江苏','广东','福建')
df<-data.frame(姓名,成绩,籍贯)
df
同时,也可以利用数组进行转换:要求各成分中的元素数量相等。
同时的同时,你还可以:清空环境中所有变量:
rm(list=ls())
2.数据框的引用
df[,c(1,3)]#返回第一列和第三列的数据
df[c(1,2),c(1,3)]#返回第一行第二行与第一列第三列相交叉的数据
3.数据框的引用
返回的结果为数据框返回的结果为因子
返回的结果仍然为因子
返回的结果仍然为因子,一个中括号返回的是数据框
4.访问具体元素
最后一个错误应该改为:
df[[2]][2]
5.数据框的修改
(1)增加样本数据或变量
注意<-是不行的
(2)修改某一个值
也可以这样:
df$成绩[1]='99'
但是:修改之后你把数值(numeric)修改成字符(character)了(3)删除行或列
也可以使用单个索引完成:
df<-df[-3]#两者的结果都是数据框
那如何在使用双索引的时候,得到data.frame(数据框)?
在后面加个:
df1<-df[,c(-2,-3),drop=FALSE]