1、grep

1 ## a为一个data frame,取含有RNA-Seq的行
2 index <- grep("RNA-Seq", a$Assay_Type)
3 b <- a[index,]

2、读取文件,选择不读哪一行

1 ##不读取带有!的行
2 data <- read.table("file",comment.char="!", sep="\t")

3、去掉数据框的某一列,添加行名, 列名

##删除第一列
b<-b[,-1]
##添加行名,列名
rowname(b) <- b[,1]
colname(b) <- b[1,]

4、sort

1 ##a为一data frame
2 ##最小值
3 sort(a$num)[1] ; 等价min(a$num)
4 ##四分位
5 sort(a$num, decreasing=T)[1] ; 等价max(a$num)
6 ##five number, 最小值,下四分位,中位数,上四分位,最大值
7 fivenum(a$num)
8 ##<5000的行
9 b <- a[a$num < 5000,]

5、strsplit 切割

1 ##以2进行分割
2 b <- "adfdfd2jdfkd"
3 strsplit(b, "2")
4 adfdf, jdfkd

6、t检验

1 t.test(1,2) 查看p value,若<0.05,则显著

7、paste, rep

 1 ##a, 连续粘贴4次
2 paste("a",1:5)
3 结果:
4 a 1, a 2, a 3, a 4
5 ##a, 连续粘贴4次,以“-”连接
6 paste("a",1:5, sep='-')
7 结果:
8 a-1, a-2, a-3, a-4
9
10 ##复制a 4次
11 rep("a", 4)
12 结果:
13 a,a,a,a

8、apply 循环

1 ##b 为一个data frame, 每一行求平均数
2 apply(b, 1, function(x){
3 mean(x)
4 })
5 其中 1 代表行,2 代表列
6 上面可以简写为:
7 apply(b, 1, mean)

9、输出图片

1 ## 比如输出PDF图片
2 pdf("test.pdf", width=12, height=10)
3 ggplot(data, aes(x,y)) +geom_line()
4 dev.off

10、quantile()

## 在R语言中取百分位比用quantile()函数
> data <- c(1,2,3,4,5,6,7,8,9,10)
> quantile(data,0.5)
50%
5.5
> quantile(data,c(0.25,0.75))
25% 75%
3.25 7.75 ## 可以画阈值线,比如BSA画图时;有index 数据 data
p + geom_hline(yintercept =quantile(data, 0.95) ,color="blue",linetype=2,size-0.5)

11、which()

1 ## which 可以筛选数据库中特有的行,比如有数据框data,筛选出delt大于0的行
2 zheng <- data[which(data$delt>0),]

12、melt(),dcast()

 1 ## melt() 和 dcast()为reshape2中的命令
2
3 ## melt(): 可以将长的数据框变为短的
4 > head(new_data)
5 pos xx_mean xy_mean yy_mean
6 19 36001 1.4052965 0.8884643 1.0787320
7 20 38001 0.8538059 1.0241777 1.1718369
8 21 40001 1.7150511 1.5263786 1.4663535
9 23 44001 0.0000000 1.8001673 0.9257189
10 24 46001 0.2837331 1.5285861 1.5567648
11 25 48001 0.6670272 2.0511266 0.0000000
12
13 > head(melt(new_data,id.vars = "pos"))
14 pos variable value
15 1 36001 xx_mean 1.4052965
16 2 38001 xx_mean 0.8538059
17 3 40001 xx_mean 1.7150511
18 4 44001 xx_mean 0.0000000
19 5 46001 xx_mean 0.2837331
20 6 48001 xx_mean 0.6670272
21
22 以“pos”为不变的ID列,其它变量合并在variable列中,其对应的值为value列
23
24 ## dcast(): 可以将短的数据框变为长的
25 > head(test)
26 pos variable value
27 1 36001 xx_mean 1.4052965
28 2 38001 xx_mean 0.8538059
29 3 40001 xx_mean 1.7150511
30 4 44001 xx_mean 0.0000000
31 5 46001 xx_mean 0.2837331
32 6 48001 xx_mean 0.6670272
33
34 > head(dcast(test,pos~variable))
35 pos xx_mean xy_mean yy_mean
36 1 36001 1.4052965 0.8884643 1.0787320
37 2 38001 0.8538059 1.0241777 1.1718369
38 3 40001 1.7150511 1.5263786 1.4663535
39 4 44001 0.0000000 1.8001673 0.9257189
40 5 46001 0.2837331 1.5285861 1.5567648
41 6 48001 0.6670272 2.0511266 0.0000000
42
43 ~左边的表示不变的列,右边则展开

---END----

R 小知识积累的更多相关文章

  1. python小知识积累

  2. C++ 小知识积累

    (1)setw和setfill函数 #include<iomanip> 代码: #include<iostream> #include<iomanip> using ...

  3. Linux小知识积累

    1.Linux图形界面和字符命令行界面的切换 从图形界面切换到字符界面,使用快捷键 Ctrl+Alt+F1 从字符界面切换到图形界面,使用快捷键 Ctrl+Alt+F7 2.解压文件 tar -xzv ...

  4. php 小知识积累

    1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id']的速度是$row[id]的7倍. 3.echo比print快,并且使用echo的多重 ...

  5. 小知识积累-linux下一些简单开发配置

    系统环境为 redhat enterprise 6.x,主要是针对初学者在linux下用gcc和vi简单测试开发的一些配置 1.vi 自动换行 在终端下敲入vi命令打开文件 : vi ~/.vimrc ...

  6. 小知识积累-C++使用tinyxml解析Xml内存泄漏问题

    项目中需要用到C++解析XML,网上搜到tinyxml这么个开源库,就用了下试试,创建对象后内部自带Clear方法,但在循环测试的时候(刚用C++做项目不久,不会什么特别的内存泄漏测试工具,于是就写个 ...

  7. 【Python】 零碎知识积累 II

    [Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...

  8. Unicode和汉字编码小知识

    Unicode和汉字编码小知识 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的 ...

  9. Asp.net MVC知识积累

    一.知识积累 http://yuangang.cnblogs.com/ 跟蓝狐学mvc教程专题目录:http://www.lanhusoft.com/Article/169.html 依赖注入:htt ...

随机推荐

  1. hdu 1227 Fast Food(DP)

    题意: X轴上有N个餐馆.位置分别是D[1]...D[N]. 有K个食物储存点.每一个食物储存点必须和某个餐厅是同一个位置. 计算SUM(Di-(离第i个餐厅最近的储存点位置))的最小值. 1 < ...

  2. js实现日期格式化封装--八种

    封装一个momentTime.js文件,包含8种格式. 需要传两个参数: 时间戳:stamp 格式化的类型:type, 日期补零的方法用到es6语法中的padStart(length,'字符'): 第 ...

  3. Xtrabackup 全量备份脚本

    #!/bin/bash #备份文件的名字为当前主机的IP地址+tar.gz,例如172.16.103.1.tar.gz,且每次备份成功之后都会清空本地的备份目录. #相关目录 mkdir -p /xt ...

  4. Java安全之Thymeleaf SSTI分析

    Java安全之Thymeleaf SSTI分析 写在前面 文章首发:https://www.anquanke.com/post/id/254519 最近看了一遍Thymeleaf,借此机会学习一下Th ...

  5. Redis监控调研

    1 调研目的 主要的目的是想调研各大云平台有关Redis监控功能的实现,但是最后我发现各大云平台提供的监控功能都比较基础,比如我想看诸如访问频率较高的HotKey.占用内存较大的Bigkey等指标,它 ...

  6. SimpleNVR流媒体服务系统录像功能解析

    录像的回放与观看是许多人在使用视频监控时必不可少的需求.人不可能每时每刻都观看视频,而录像能对摄像机的视频信息进行存储,方便用户的后期回放查看,因此,SimpleNVR的录像功能应运而生.       ...

  7. Mysql教程:(一)数据库常用基础命令

    数据库常用命令 1.登录 进入数据库,在win系统下,打开cmd,切换用户权限,进入root: 沒权限,用root登录: mysql -uroot 如果root有密码: mysql -uroot -p ...

  8. 使用XAMPP创建Mysql数据库 要想在本地连接需要配置一下my.ini文件 配置如下:

    # Example MySQL config file for small systems. # # This is for a system with little memory (<= 64 ...

  9. 几个你不知道的dubbo注册中心细节

    你会正确配置backup地址吗? 在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0 ...

  10. docker添加sudo权限

    sudo groupadd docker  # 添加group sudo gpasswd -a think docker  # 添加用户到组 sudo service docker restart n ...