千家信息网

R语言如何创建数据框

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"R语言如何创建数据框",在日常操作中,相信很多人在R语言如何创建数据框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"R语言如何创建数据框"的疑惑有所帮
千家信息网最后更新 2026年11月04日R语言如何创建数据框

这篇文章主要介绍"R语言如何创建数据框",在日常操作中,相信很多人在R语言如何创建数据框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"R语言如何创建数据框"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

统计分析中最常见的原始数据形式是类似于数据库表或Excel数据表的形式。这样形式的数据在R中叫做数据框(data.frame)。数据帧是表或二维阵列状结构,其中每一列包含一个变量的值,并且每一行包含来自每一列的一组值。
以下是数据帧的特性。

  • 列名称应为非空。

  • 行名称应该是唯一的。

  • 存储在数据帧中的数据可以是数字,因子或字符类型。

  • 每个列应包含相同数量的数据项。

创建数据框

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),    emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),    start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Print the data frame.            print(emp.data)

当我们执行上面的代码,它产生以下结果 -

 emp_id    emp_name     salary     start_date1     1     Rick        623.30     2012-01-012     2     Dan         515.20     2013-09-233     3     Michelle    611.00     2014-11-154     4     Ryan        729.00     2014-05-115     5     Gary        843.25     2015-03-27

获取数据框行列信息

通过函数colnames()或names()可获取数据框的列名称,函数rownames()可获取数据框的行名称。

colnames(emp.data)names(emp.data)rownames(emp.data)

当我们执行上面的代码,它产生以下结果 -

[1] "emp_id"     "emp_name"   "salary"     "start_date"[1] "emp_id"     "emp_name"   "salary"     "start_date"[1] "1" "2" "3" "4" "5"

通过函数nrow()或函数ncol(),可获取数据框的行数或列数。

nrow(emp.data)ncol(emp.data)

当我们执行上面的代码,它产生以下结果 -

[1] 5[1]

获取数据框的结构

通过使用str()函数可以看到数据帧的结构。

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),    emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),    start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Get the structure of the data frame.str(emp.data)

当我们执行上面的代码,它产生以下结果 -

'data.frame':   5 obs. of  4 variables: $ emp_id    : int  1 2 3 4 5 $ emp_name  : chr  "Rick" "Dan" "Michelle" "Ryan" ... $ salary    : num  623 515 611 729 843 $ start_date: Date, format: "2012-01-01" "2013-09-23" "2014-11-15" "2014-05-11" ..

从数据框提取数据

使用列名称从数据框中提取特定列。

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),   start_date = as.Date(c("2012-01-01","2013-09-23","2014-11-15","2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Extract Specific columns.result <- data.frame(emp.data$emp_name,emp.data$salary)print(result)

当我们执行上面的代码,它产生以下结果 -

  emp.data.emp_name emp.data.salary1              Rick          623.302               Dan          515.203          Michelle          611.004              Ryan          729.005              Gary          843.25

先提取前两行,然后提取所有列

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),   start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Extract first two rows.result <- emp.data[1:2,]print(result)

当我们执行上面的代码,它产生以下结果 -

  emp_id    emp_name   salary    start_date1      1     Rick      623.3     2012-01-012      2     Dan       515.2     2013-09-23

用第2和第4列提取第3和第5行

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),    emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),     start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Extract 3rd and 5th row with 2nd and 4th column.result <- emp.data[c(3,5),c(2,4)]print(result)

当我们执行上面的代码,它产生以下结果 -

  emp_name start_date3 Michelle 2014-11-155     Gary 2015-03-27

扩展数据框

可以通过添加列和行来扩展数据帧。

添加列

只需使用新的列名称添加列向量。

# Create the data frame.emp.data <- data.frame(   emp_id = c (1:5),    emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),    start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   stringsAsFactors = FALSE)# Add the "dept" coulmn.emp.data$dept <- c("IT","Operations","IT","HR","Finance")v <- emp.dataprint(v)

当我们执行上面的代码,它产生以下结果 -

  emp_id   emp_name    salary    start_date       dept1     1    Rick        623.30    2012-01-01       IT2     2    Dan         515.20    2013-09-23       Operations3     3    Michelle    611.00    2014-11-15       IT4     4    Ryan        729.00    2014-05-11       HR5     5    Gary        843.25    2015-03-27       Finance

添加行

要将更多行永久添加到现有数据帧,我们需要引入与现有数据帧相同结构的新行,并使用rbind()函数。
在下面的示例中,我们创建一个包含新行的数据帧,并将其与现有数据帧合并以创建最终数据帧。

# Create the first data frame.emp.data <- data.frame(   emp_id = c (1:5),    emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),   salary = c(623.3,515.2,611.0,729.0,843.25),    start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",      "2015-03-27")),   dept = c("IT","Operations","IT","HR","Finance"),   stringsAsFactors = FALSE)# Create the second data frameemp.newdata <-     data.frame(   emp_id = c (6:8),    emp_name = c("Rasmi","Pranab","Tusar"),   salary = c(578.0,722.5,632.8),    start_date = as.Date(c("2013-05-21","2013-07-30","2014-06-17")),   dept = c("IT","Operations","Fianance"),   stringsAsFactors = FALSE)# Bind the two data frames.emp.finaldata <- rbind(emp.data,emp.newdata)print(emp.finaldata)

当我们执行上面的代码,它产生以下结果 -

  emp_id     emp_name    salary     start_date       dept1      1     Rick        623.30     2012-01-01       IT2      2     Dan         515.20     2013-09-23       Operations3      3     Michelle    611.00     2014-11-15       IT4      4     Ryan        729.00     2014-05-11       HR5      5     Gary        843.25     2015-03-27       Finance6      6     Rasmi       578.00     2013-05-21       IT7      7     Pranab      722.50     2013-07-30       Operations8      8     Tusar       632.80     2014-06-17       Fianance

到此,关于"R语言如何创建数据框"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 面的 代码 结果 函数 名称 语言 结构 学习 形式 更多 相同 新行 帮助 原始 实用 接下来 一行 变量 只需 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 互联网巨头科技公司 金融科技创新监管互联网金融 互联网 科技 互联网金融 科技金融 奇酷互联网科技 天下捷融互联网科技 互联网科技项目计划书材料类 阿大互联网科技有限公司 杭州壁岐互联网科技有限公司 链环科技传统企业怎么转型互联网 银川新华互联网科技学校联系电话 阿里互联网科技企业 梅州GM互联网络科技有限公司 互联网相关科技技术 保山互联网科技靠谱吗 银川新华互联网科技学校原画 互联网的科技体现在哪里 互联网科技自媒体灵感 科技发展第三阶段互联网时代 广东猪兼强互联网科技有限公司 河南云网互联网络科技有限公司 电子科技大学互联网 河南住房之家互联网科技 高科技互联网套路 锡山区互联网智能科技产品供应 珠海东科互联网科技有限公司 陕西九四连强互联网科技有限公司 亚光科技低轨卫星互联网 科技互联网专业务虚会材料
0