1.数据框
1).写文件[writr.table
]
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",eol = "\n", na = "NA", dec = ".", row.names = TRUE,col.names = TRUE, qmethod = c("escape", "double"))
函数Write.table()的选项值及说明:
选项值 | 说明 |
---|---|
x |
要写入的对象名 |
file |
文件名(缺省时对象直接被“写”在屏幕上),可添加路径 |
append |
如果为TRUE则在写入数据时不删除目标文件中可能已存在的数据,采取往后添加的方式 |
quote |
一个逻辑型或者数值型向量:如果为TRUE,则字符型变量和因子写在双引号("")中,若quote是数值型向量则代表将欲写在("")中的那些列的列标,如果为FALSE,则字符型变量和因子无双引号 |
sep |
文件中的字段分隔符 |
eol |
使用在每行最后的字符("\n"表示回车) |
na |
表示确实数据的字符 |
dec |
用来表示小数点的字符 |
row.names |
一个逻辑值,决定行名是否写入文件,或指定要作为行名写入文件的字符型向量 |
col.names |
一个逻辑值(决定列名是否写入文件);或指定一个要作为列名写入文件中的字符向量 |
qmethod |
若quote=TRUE,则此参数用来指定字符型变量中的双引号("")如何处理;若参数值为"escape"(或者"e",缺省)每个"都用"替换,若值为"d",则每个"都用"“替换 |
2).获取数据框行数
dim(datafram)[1]
nrow(dataframe)
length(dataframe[,1])
2. GeneSymble to ID
- 数量较少时可使用网站
bioDBnet
,其中,human对应Taxon ID
为9606
- 数量较多时可借助R包
org.Hs.eg.db
3.next and break
next
:跳出当前循环,进入下一次循环break
: 结束循环
4.逻辑运算符
- 与运算:
&
- 或运算:
|
- 非运算:
!
5.判断语句
1). if...else
if(boolean expression) {
statement1
} else {
statement2
}
2). if...else if...else
if(boolean expression1) {
statement1
} else if(boolean expression2) {
statement2
} else if(boolean expression3) {
statement3
} else {
statement4
}
if
语句可以有零个或一个else
,但若有else if
语句,那么else
语句必须在else if
语句之后- 当有一个
else if
条件测试成功,其余的else if
或else
将不会被测试
函数
1).sample
函数: 随机抽样
x <- c(1,3,5,7)
sample(x = x[,size = 7,replace = T,prob=c(0.1,0.3,0.7,0.9)])
size
:指定在向量中抽取的元素个数,默认是向量中所有的元素个数replace = T
: 又放回抽样,默认为无放回抽样prob
:每个元素被抽取的概率,且每个概率是独立的即不一定所有的元素概率加起来等于1
2).duplicated
函数: 数据去重(数据框或者向量,返回TRUE或者FALSE)
x <- c(9:20, 1:5, 3:7, 0:8)
## extract unique elements
xu <- x[!duplicated(x)]
## similar, same elements but different order:
xu2 <- x[!duplicated(x, fromLast = TRUE)]
duplicated(x)
:建立是否重复的索引,即TRUE/FALSE
!
:取反得到去重数据,即FALSE
为需要数据
3).order
/sort
/rank
函数: 排序
sort(x)
: 对向量x
排序,返回值排序后的数值向量
rank(x)
: 求秩函数,返回值是向量中对应元素的排名
order(x)
: 返回值是排序后元素在向量中的位置
x <- c(1,3,6,0,9,5)
order(x)
[1] 4 1 2 6 3 5
sort(x)
[1] 0 1 3 5 6 9
rank(x)
[1] 2 3 5 1 6 4
Share this post
Twitter
Google+
Facebook
Reddit
LinkedIn
StumbleUpon
Pinterest