介绍
“[“, $和@都可以根据索引取值,但是它们使用范围不一样。
"["
是按索引取值,或者名称取值,返回结果不改变数据类型;
$经常用于list和data.frame中,以及S3对象中,采用模糊配合的模式从对象中取值;
[[]]也是根据索引或者名称取值,和$使用的对象一样,X[[‘a’,exact=FALSE]]和X$a是等价的。
@是针对S4对象进行取值的。
"["用法
"["(x,n)
参数介绍:
x: 具有索引值的对象,如vector,list
n: 是一个整数或者字符串
h=data.frame(abc=c(5,6))
'['(h,'abc')
# abc
# 1 5
# 2 6
'['(h,1)
# abc
# 1 5
# 2 6
$和[[]]的用法
x <- list(abc = 1)
x$a
# [1] 1
h=data.frame(abc=c(5,6))
h$a
# [1] 5 6
h[['a',exact=FALSE]]
# [1] 5
注意从大数据的计算效率来看,[[]]的运算效率更高、
@的用法
library(ROCR)
data(ROCR.simple)
pred <- prediction( ROCR.simple$predictions, ROCR.simple$labels)
performance(pred,'auc')@y.values
# [[1]]
# [1] 0.8341875