rstudio environment 中values和data有什么区别?
简单粗暴的回答就是,values是值,data通常指data frame。
Data<-ReadAffy()
affy包是R语言的bioconductor系列包的一个,就一个功能,读取affymetix的基因表达芯片数据-CEL格式数据,处理成表达矩阵。(所以data属于environment里的data)
N=length(Data)
得到的是data的数量而不是大小。
rma算法的作用及用法
RMA算法是用于数据标准化,进行预处理。GEO数据的一个常见的标化方法是使用RMA,但是该方法只适用于GPL570和GPL96平台的GEO数据。
eset<-rma(Data) #用RMA函数对cel文件的芯片数据进行标化
# expres函数用于提取标化后的数据,然后data.frame()转化为表格
eset.e <- data.frame(exprs(eset))
最后write.table()写入数据
cbind(a,b)
和rbind(a,b)
把向量或矩阵 a和b拼成一个新的矩阵,a在前,表格中a的列就在b的列前面,反过来就相反。
- cbind: 根据列进行合并,即叠加所有列,m列的矩阵与n列的矩阵cbind()最后变成m+n列,合并前提:
cbind(a, b)
中矩阵a
、b
的行数必需相同。(合并后的列名称取自第一个参数) - rbind: 根据行进行合并,就是行的叠加,m行的矩阵与n行的矩阵
rbind()
最后变成m+n
行,合并前提:rbind(a, b)
中矩阵a
、b
的列数必需相同。
match()的用法
MMMM <- c(1,2,3,5,7,20)
NNNN <- c(3,8)
#match (A,B) 其中把A里的元素逐个匹配B中所有元素,如能匹配上,就返回匹配上的元素在B向量的位置;所以返回值长度和A相等
match(MMMM,NNNN)
#[1] NA NA 1 NA NA NA
#把1和B向量进行匹配,没有-NA;
#把2和B向量匹配,没有-NA;
#把3和B向量进行匹配,是B向量的第一个元素,所以返回值是1,其余同样比较
返回值分为两种,一种匹配上的,返回的是被匹配的那个向量对应的位置;另一种是NA值,没有匹配上使用NA值填充
match(NNNN,MMMM)
#[1] 3 NA
#返回的长度和NNNN相同
as.matrix()
as.matrix()是将整个数据框(各列数据类型必须相同,否则进行强制转换)转换为维数相同的矩阵。简单来说就是转换为矩阵。比如
> x <- 1:5
> x
[1] 1 2 3 4 5
> as.matrix(x)
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
[5,] 5
Tips:as函数通常用于将数据类型显式转换为另一种类型,称为强制转换。当我们调用函数 as.logical
时,它会将传递的参数强制转换为逻辑类型。as.character
和 as.numeric
将给定的参数转换为相应的类型。请注意,转换为逻辑类型的任何数字(零除外)都表示 TRUE
值,甚至是负值。
is.na()
is.na()用于检测确实值是否存在
> A<-c(1,1,NA,1)
> is.na(A)
[1] FALSE FALSE TRUE FALSE
#02返回缺失值位置
> which(is.na(A))
[1] 3
#03计算数据集A的缺失值总数
> sum(is.na(A))
[1] 1
factor()
举例:所有员工每天打卡的记录数据,其中有姓名(name),性别(sex),是否打卡(card)三列。这里的性别(男,女)有2个类别,就可以把姓名这一列作为因子变量来处理。而姓名这一列因为不是类别,毕竟每个人的姓名是不一样的,即使有两个人的姓名重名,这两个人也不属于同一类。因子就是用于表示一组数据中的类别(男、女),可以记录这组数据中的类别名称及类别数目。
x <- c("男", "女", "男", "男", "女")
sex <- factor(x)
print(sex)
[1] 男 女 男 男 女 Levels: 男 女