R中NA数据的处理
将缺失值替换为0
ts<-read.csv("ts.csv",header=TRUE) #读取数据
ts[is.na(ts)]<-0 #将缺失值替换为0
如果希望将所有的0值再替换为100,使用语句:
ts[ts==0]<-100
当然也可以根据其他的判断条件进行替换,如:
ts[ts>50]<-50 #将所有大于50的元素都替换为50
可以通过函数is.na()来判断一个对象是否是缺失值
R语言绘制抖动散点图
profile_text <- read.table(text=profile, header=T, row.names=1, quote="",sep=";", check.names=F)
在melt时保留位置信息
melt格式是ggplot2画图最喜欢的格式
好好体会下这个格式,虽然多占用了不少空间,但是确实很方便
library(ggplot2)
library(reshape2)
data_m <- melt(profile_text)
head(data_m)
variable value
1 2cell_1 4
2 2cell_1 6
3 2cell_1 8
4 2cell_1 10
5 2cell_1 12
6 2cell_1 14
箱线图
p <- ggplot(data_m, aes(x=variable, y=value),color=variable) +
geom_boxplot(aes(fill=factor(variable))) +
theme(axis.text.x=element_text(angle=50,hjust=0.5, vjust=0.5)) +
theme(legend.position="none")
p
图会存储在当前目录的Rplots.pdf文件中,如果用Rstudio,可以不运行dev.off()
dev.off()
Violin plot
variable和value为矩阵melt后的两列的名字,内部变量, variable代表了点线的属性,value代表对应的值。
p <- ggplot(data_m, aes(x=variable, y=value),color=variable) +
geom_violin(aes(fill=factor(variable))) +
theme(axis.text.x=element_text(angle=50,hjust=0.5, vjust=0.5)) +
theme(legend.position="none")
p
图会存储在当前目录的Rplots.pdf文件中,如果用Rstudio,可以不运行dev.off()
dev.off()
还有Jitter plot (这里使用的是ggbeeswarm包)
library(ggbeeswarm)
为了更好的效果,只保留其中一个样品的数据
grepl类似于Linux的grep命令,获取特定模式的字符串
data_m2 <- data_m[grepl("_3", data_m$variable),]
variable和value为矩阵melt后的两列的名字,内部变量, variable代表了点线的属性,value代表对应的值。
p <- ggplot(data_m2, aes(x=variable, y=value),color=variable) +
geom_quasirandom(aes(colour=factor(variable))) +
theme_bw() + theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), legend.key=element_blank()) +
theme(legend.position="none")
也可以用geom_jitter(aes(colour=factor(variable)))代替geom_quasirandom(aes(colour=factor(variable)))
但个人认为geom_quasirandom给出的结果更有特色
ggsave(p, filename="jitterplot.pdf", width=14, height=8, units=c("cm"))
r中如果遇到保存不了 的文件可能是因为没有权限,,换好的
which
x[,1]==1判断bai是否为1,返回duTrue或False
which((x[,1]==1))返回为zhiTrue的行号
网友评论