当前位置:   article > 正文

R语言数据框的创建、访问、基本命令_r数据框、数组、列表的创建和访问

r数据框、数组、列表的创建和访问

R语言数据框的创建、访问、基本命令

R语言拥有许多用于存储数据的对象类型,从结构角度来看包括向量(vector)矩阵(matrix)数组(array)数据框(data frame)因子(factor)列表(list)。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位、访问、添加、删除其中个别元素等方面均有所不同。本文将主要讲解数据框的创建、访问以及基本运算,若需了解其他数据类型相关操作,欢迎感兴趣的朋友访问个人主页,或点击上文蓝字链接跳转至相关文章。

在R语言中,数据框(dataframe)的组织结构和矩阵有一些相似,但是数据框的不同列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更为一般。一般情况,数据框的每列是一个变量,每行是一个观测样本,虽然数据框内不同的列可以是不同的数据模式,但是数据框内每列的长度必须相同,并且每一列的数据类型必须一致,而且数据框将是R中最常处理的数据结构。

在实际工作中,有时由于数据有多种模式,无法将此数据集放入一个矩阵,在这种情况下,使用数据框是最佳选择。

1、数据框的创建

#通过函数 data.frame() 创建,可以写在一起,也可以先储存在向量里面
studentID <- c(1:3)
sex <- c("type1","type2","type1")
age <- c("17","18","19")
grade <- c("good","excellent","bad")
students <- data.frame(studentID,sex,age,grade)
students
is.data.frame(students)

df <- data.frame(name=c("aaa","bbb","ccc"),age = c(18:20))
df
row.names(df) = c("11","22","33") #添加行名
df

#通过as.data.frame,可以将列表、数组、矩阵等形式转化为数据框
help("data.frame")
df <- list(name=c("aaa","bbb","ccc"),age = c(18:20))
df
df <- as.data.frame(df)#列表转化为数据框,其他类似
df

#通过expand.grid函数,可以创建所有可能的情况
x<-expand.grid(a=c(1,2),b=c(10,20),c=c("M","F"))
x
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2、数据框的访问和修改

#查看数据类型
class(x) #查看类型
class(x$a) #查看某列的类型

#查看数据框长度
length(students)

#查看数据框的基本统计信息
summary(students)

#访问元素
students[1,2] #访问第一行第二列元素
students[1,] #访问第一行元素
students[,2] #访问第二列元素
students[c("age","sex")] #访问这两列元素
students$studentID #访问某一列元素,很常用

#删除某行某列
students[-1,] #不打印第一行
students[,-1] #不打印第一列
students$sex = NULL #删除一列

#添加一行或一列
a <- list(studentID = "4",sex = "type2",age = "20",grade = "一般")
students = rbind(students,as.data.frame(a)) #加一行
b <- list(height = c("178","168","173","182"))
students <- cbind(students,as.data.frame(b)) #加一列

#修改某个值
students$studentID[2] <- 100 #修改确定列的第几个值
students[1,3] <- 20 #修改某行某列的值

#访问数据的首末行
head(students,n = 1) #默认情况是6行
tail(students,n = 1)

#修改列名
names(students)[1:2] = c("1","2") 
colnames(students) = c("1","2","3","4","5")
  • 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
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/66084?site
推荐阅读
相关标签
  

闽ICP备14008679号