R语言中$是什么意思

R语言中的$是什么意思
2024-11-16 18:27:17
推荐回答(3个)
回答1:

$是S3类的引用方式,@是S4类的引用方式。$比较常用,@比较少用。通常我们的data.frame, list. 向量等用$就可以。

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

当一个函数里需要返回多个值(比如有变量,有向量,有矩阵)时,我们要用list,而不是return,这时如果想提取某个变量的结果,就需要用到$,默认情况下,对于 `list`, `environment` 这两种对象,`$`可以提取(extract)出里面的元素。

扩展资料:

R语言操作环境:

R是一套由数据操作、计算和图形展示功能整合而成的套件。包括:有效的数据存储和处理功能,一套完整的数组(特别是矩阵)计算操作符,拥有完整体系的数据分析工具。

为数据分析和显示提供的强大图形功能,一套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自定义函数、输入输出功能)。

在这里使用”环境”(environment)是为了说明R的定位是一个完善、统一的系统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具。

R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动态的环境,所以新发布的版本并不总是与之前发布的版本完全兼容。

某些用户欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧的代码不再可用。尽管R试图成为一种真正的编程语言,但是不要认为一个由R编写的程序可以长命百岁。

参考资料来源:百度百科-R语言



回答2:

$是S3类的引用方式。

当一个函数里需要返回多个值(比如有变量,有向量,有矩阵)时,我们要用list,而不是return,这时如果想提取某个变量的结果,就需要用到$,默认情况下,对于 `list`, `environment` 这两种对象,`$`可以提取(extract)出里面的元素。

x$y  等价于 x[["y", exact = FALSE]],用于获取dataframe或者list里面的某个变量,比如mtcars$cyl 和 diamonds$carat。不同之处在于 $ 可以部分匹配变量名,比如:

x <- list(abc = 1)

x$a

#> [1] 1

x[["a"]]

#> NULL

扩展资料

@是S4类的引用方式

$比较常用,@比较少用。

S4也有例如,有个维恩包Vennerable:

下面的w  就是S4类型,想取得里面IntersectionSets,信息必须用@符号:

library(Vennerable)

data(StemCell)

w <- Venn(Sets=StemCell[1:2])

plot(w, type="squares")

w@IntersectionSets



回答3:

我知道的只有取某个object(数据框,list比如lm object,etc)的某个部分
比如

m1<-lm(Y~X,data=....(some data frame))
m1$coefficients
就会返回回归直线的截距和斜率。
还有数据框,可以用数据框名$变量名取变量……这样的。