R语言学习--特殊符号的意义

分享:刘绵宇
$表示从一个dataframe中取出某一列数据

@是从R的类实例里面读取数据,

bg=x@colors$bg.col就是从对象实例x中取出colors,而这个colors本身又是个dataframe,所以需要进一步用$读取bg.col列。

!表示 “与、或、非” 中的 “非” 的意思

pheno_dt[!is.na(M2BW)]  表示在pheno_dt 这个数据集中 M2BW一列不为 "NA" 的个体。

NAN

“Not a Number”的缩写,非数值,NaN参与运算时返回NaN。
a <- 0/0
a
#[1] NaN
a+1
#[1] NaN

NA

“Not available”的缩写,NA表示缺失值,NA参与运算时返回NA。

a <- c(1,2,3,6)
a
#[1] 1 2 3 6
b <- a[5]
b
#[1] NA
b+1
#[1] NA
length(b)
#[1] 1

NULL

表示不存在,empty,一般不参与运算。

c <- NULL
c
#NULL
c+1
#numeric(0)
length(c)
#[1] 0

%>% (data.table包中)

选择多个值:
选择在这一列中包含value1或value2的所有值

> DT[column %in% c("value1","value2")]
选择V2这列中包含值A或C的所有行

> DT[ V2 %in% c("A","C")]
V1 V2      V3 V4
1:  1  A  0.3408  1
2:  2  A -0.7460  4
3:  1  A -0.3795  7
4:  2  A -0.7033 10
5:  1  C -0.3795  3
6:  2  C -0.7033  6
7:  1  C  0.3408  9
8:  2  C -0.7460 12

%in%

匹配符号,判断“%in%”符号前面向量中的元素是否在“%in%”后面向量中存在,是match()函数等价方式。
#判断前面一个向量内的元素是否在后面一个向量中,返回布尔值。
a <- c(1,2,3,6)
b <- c(1,5,3,4,1)
a %in% b
# 返回内容
# [1] TRUE FALSE TRUE FALSE

:

“冒号”用于以向量形式生成公差为1的等差数列。
d <- 2:6
d
#[1] 2 3 4 5 6

[]

主要用于提取、筛选、替换向量、数据框、矩阵等对象的数据,功能非常强大。
#提取共有元素;
a <- c(1,2,3,6)
b <- c(1,5,3,4,1)
a[a %in% b]
#[1] 1 3

#筛选数据;
b <- b[1:4]
b
#[1] 1 5 3 4
a[a>2]
#[1] 3 6

#替换数据;
a[a>2] <- 7
a
#[1] 1 2 7 7

#创建数据框;
df <- data.frame(a,b)
df
#   a b
# 1 1 1
# 2 2 5
# 3 7 3
# 4 7 4

#按索引提取数据;
df[1,]
#得到数据框;
#   a b
# 1 1 1

df[2]
#得到数据框;
#   b
# 1 1
# 2 5
# 3 3
# 4 4
df["b"]
#得到数据框;
#   b
# 1 1
# 2 5
# 3 3
# 4 4

df[,2]
#得到向量;
#[1] 1 5 3 4
df[,"b"]
#得到向量;
#[1] 1 5 3 4

#行列名称与索引混合使用;
df[2,"b"]
#[1] 5
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。