R语言中$和@各自的作用是什么

$表示从一个dataframe中取出某一列数据;@是从R的类实例里面读取数据。$是S3类的引用方式,$比较常用,当一个函数里需要返回多个值(比如有变量,有向量,有矩阵)时,我们要用list,而不是return,这时如果想提取某个变量的结果,就需要用到$。

$表示从一个dataframe中取出某一列数据;@是从R的类实例里面读取数据。

$是S3类的引用方式,$比较常用,当一个函数里需要返回多个值(比如有变量,有向量,有矩阵)时,我们要用list,而不是return,这时如果想提取某个变量的结果,就需要用到$,默认情况下,对于list, environment 这两种对象,$可以提取(extract)出里面的元素,对于自己定义的class,可以实现$ S3 Method。通常我们的data.frame, list. 向量等用$就可以。

@是S4类的引用方式。@比较少用。对于 S4 object,@可以提取出 slot。

比如

m1<-lm(Y~X,data=….(some data frame))

m1$coefficients

就会返回回归直线的截距和斜率。

x$y 等价于 x[[“y”, exact = FALSE]],用于获取dataframe或者list里面的某个变量,

比如mtcars$cyl 和diamonds$carat。不同之处在于 $ 可以部分匹配变量名,比如:

x <- list(abc = 1)

x$a

#> [1] 1

x[[“a”]]

#> NULL

S4也有例如,有个维恩包Vennerable:S4类型,想取得里面IntersectionSets,信息必须用@符号。

@ 是R中,S4类的一个操作符,用于提取S4对象中的内容(slot),比如:

setClass(“Person”,

slots = list(name = “character”, age = “numeric”))

alice <- new(“Person”, name = “Alice”, age = 40)

alice@age

> [1] 40

这个时候是不起作用的,因为被S4类重写了。可以自己定义

的行为。

延伸阅读:

什么是R语言?

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优异工具。

R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。可以认为R是S语言的一种实现。而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析和作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来新西兰奥克兰大学的Robert Gentleman和Ross Ihaka及其他志愿人员开发了一个R系统。由“R开发核心团队”负责开发。R可以看作贝尔实验室(AT&T BellLaboratories)的Rick Becker、John Chambers和Allan Wilks开发的S语言的一种实现。当然,S语言也是S-Plus的基础。所以,两者在程序语法上可以说是几乎一样的,可能只是在函数方面有细微差别,程序十分容易地就能移植到一程序中,而很多一的程序只要稍加修改也能运用于R。

文章标题:R语言中$和@各自的作用是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39042

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月21日 上午2:19
下一篇 2023年2月21日 上午2:21

相关推荐

  • 工程项目综合管理系统:用户推荐与评价

    国内外主流的10款工程项目综合管理系统对比:PingCode、Worktile、广联达、明源云、中望软件、Oracle Primavera、Asana、Wrike、Zoho Projects、Basecamp。 在处理复杂的工程项目时,选择合适的综合管理系统可能是一个令人头痛的问题。项目延误、成本超…

    2024年8月8日
    400
  • 零成本项目管理:10款合适的免费软件推荐

    国内外主流的10款免费项目管理工具对比:PingCode、Worktile、Jira 、Wrike 、ClickUp、Trello、Asana、飞书、Tapd、Teambition。 在选择项目管理软件时,许多团队面临的最大挑战之一是成本。尤其是对于初创公司或小型企业来说,高昂的软件订阅费可能是一个…

    2024年8月8日
    500
  • 项目的什么不包含管理储备

    项目的成本计划、风险应对策略、进度计划以及范围描述是不包含管理储备的。在项目管理中,管理储备是为了应对项目中无法预见的风险而设立的一种预算,它不包含在项目的初步预算中,也不包含在项目的成本基准中。这是因为管理储备的使用需要得到高层管理人员的批准,因此,它并不属于项目经理可以自由支配的资源。在具体实施…

    2024年8月7日
    1000
  • 项目管理目标 ci目标是什么

    在项目管理中,CI目标是指持续集成目标,这是一种软件开发实践,它要求团队频繁地将代码集成到一个共享的主线中。CI目标主要包括:减少集成问题、提高软件质量、加速软件发布。 持续集成通过自动化的构建和测试,可以发现并修复集成问题,从而避免了“集成地狱”的情况。这有利于提高团队的效率,减少重复的工作,帮助…

    2024年8月7日
    800
  • 文化项目运行管理是什么

    文化项目运行管理包括:项目规划、资源配置、进度控制、成本管理、风险管理。项目规划是文化项目运行管理中最为关键的一环。它不仅涉及到项目的总体目标、阶段性目标和具体任务的明确,还包括对项目时间表、资源分配及预算的详细安排。一个科学的项目规划可以有效地指导项目的实施,确保项目按计划进行,避免资源浪费和时间…

    2024年8月7日
    400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部