R语言【base】——data.frame():创建数据框,紧耦合的变量集合,它们共享矩阵和列表的许多属性,被大多数R建模软件用作基本数据结构。

本文主要是介绍R语言【base】——data.frame():创建数据框,紧耦合的变量集合,它们共享矩阵和列表的许多属性,被大多数R建模软件用作基本数据结构。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Package base version 4.2.0


Description

创建数据框(data frame),紧耦合的变量集合,它们共享矩阵和列表的许多属性,被大多数R建模软件用作基本数据结构。

数据框:一种在统计分析和数据处理中常用的数据结构,由行和列组成,类似于电子表格。


Usage

data.frame(..., row.names = NULL, check.rows = FALSE,check.names = TRUE, fix.empty.names = TRUE,stringsAsFactors = FALSE)

Arguments

参数【...】:这些参数的形式是 value 或 tag = value。组件名称是基于标签(如果存在)或解析参数本身创建的。

参数【row.names】:NULL 或单个整数或字符串,指定要用作行名的列,或一个字符或整数向量,为数据框提供行名。

参数【check.rows】:如果为 TRUE,则检查行长度与名称的一致性。

参数【check.names】:逻辑值。如果为TRUE,则检查数据框中的变量名,以确保它们是语法上有效的变量名,并且不重复。如有必要,可以对它们进行调整(通过make.names)。

参数【fix.empty.names】:逻辑值,指示“未命名”的参数(在没有被 someName = arg 正式命名)是否获得自动构造的名称,或者更确切地说是 “”。即使 check.names 为 FALSE,如果应该保留 “”名称,也需要设置为 FASLE。

参数【stringsAsFactors】:逻辑值:应该将字符向量转换为因子吗?“factory-fresh”的默认值以前为TRUE,但在R 4.0.0 中已更改为FALSE。


Details

数据框是给定类“data.frame”的具有相同行数且具有唯一行名的变量列表。如果不包含变量,则行名决定行数。

列名应该是非空的,尝试使用空名称将产生不支持的结果。允许使用重复的列名,但是您需要对data.frame使用check.names = FALSE来生成这样的数据帧。然而,并不是所有对数据帧的操作都会保留重复的列名:例如,类似矩阵的子集将强制结果中的列名是唯一的。

data.frame通过调用as.data.frame(optional = TRUE)将它的每个参数转换为一个数据帧。由于这是一个泛型函数,因此可以编写方法来根据其类更改参数的行为:R提供了许多这样的方法。传递给data.frame的字符变量如果没有I保护,并且参数stringsAsFactors为真,则转换为因子列。如果将列表或数据帧或矩阵传递给data.frame,则好像每个组件或列都作为单独的参数传递(由I保护的矩阵除外)。

传递给data.frame的对象应该具有相同的行数,但是原子向量(参见is.vector)、因子和受I保护的字符向量将在必要时被循环使用整次(包括作为列表参数的元素)。

如果在对data.frame的调用中没有提供行名,则从具有合适名称的第一个组件中获取行名,例如具有行名或数据帧的命名向量或矩阵。(如果该组件随后被回收,则这些名称将被丢弃并发出警告。)如果row.names作为NULL提供或没有找到合适的组件,则行名是从1开始的整数序列(并且这样的行名被认为是“自动的”,而不是由as.matrix保留)。

如果提供的行名长度为1,并且数据帧只有一行,则使用row.names来指定行名,而不是列名(通过名称或数字)。

从不受I保护的向量输入中删除名称。


Value

一种数据框架,一种类似矩阵的结构,其列可以是不同的类型(数字、逻辑、因子和字符等)。

如何创建数据帧的名称是复杂的,本段的其余部分只是基本的故事。如果参数都是命名的简单对象(不是列表、数据帧矩阵),则参数名给出列名。对于一个未命名的简单参数,使用参数的离去版本作为名称(去掉了封闭的I(…))。对于具有多个命名列的命名矩阵/列表/数据帧参数,列的名称是参数的名称后跟一个点和参数内的列名:如果参数未命名,则使用参数的列名。对于包含单个列的已命名或未命名的矩阵/列表/数据帧参数,结果中的列名就是参数中的列名。最后,将这些名称调整为唯一且在语法上有效,除非check.names = FALSE。


Example

L3 <- LETTERS[1:3]
char <- sample(L3, 10, replace = TRUE)
(d <- data.frame(x = 1, y = 1:10, char = char))
   x  y char
1  1  1    A
2  1  2    A
3  1  3    C
4  1  4    B
5  1  5    B
6  1  6    A
7  1  7    A
8  1  8    A
9  1  9    A
10 1 10    B
data.frame(1, 1:10, sample(L3, 10, replace = TRUE))
   X1 X1.10 sample.L3..10..replace...TRUE.
1   1     1                              B
2   1     2                              C
3   1     3                              C
4   1     4                              B
5   1     5                              A
6   1     6                              A
7   1     7                              B
8   1     8                              A
9   1     9                              B
10  1    10                              C
is.data.frame(d)
[1] TRUE
(dd <- data.frame(d, fac = letters[1:10], stringsAsFactors = TRUE))
   x  y char fac
1  1  1    A   a
2  1  2    A   b
3  1  3    C   c
4  1  4    B   d
5  1  5    B   e
6  1  6    A   f
7  1  7    A   g
8  1  8    A   h
9  1  9    A   i
10 1 10    B   j
rbind(class = sapply(dd, class), mode = sapply(dd, mode))
      x         y         char        fac      
class "numeric" "integer" "character" "factor" 
mode  "numeric" "numeric" "character" "numeric"
stopifnot(1:10 == row.names(d)) 
(d0  <- d[, FALSE]) 
data frame with 0 columns and 10 rows
(d.0 <- d[FALSE, ]) 
[1] x    y    char
<0 行> (或0-长度的row.names)
(d00 <- d0[FALSE, ])
data frame with 0 columns and 0 rows

这篇关于R语言【base】——data.frame():创建数据框,紧耦合的变量集合,它们共享矩阵和列表的许多属性,被大多数R建模软件用作基本数据结构。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730806

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S