R语言的知识的那些坑1

#统计每行表达的百分比
#>0表现>0的占的百分比
for (i in 1:30) {
print(mean(Express[i,]>0))
}
for (i in 1:nrow(Express)) {
print(mean(Express[i,]>0))
}

#数据每行显示不为0的个数
x=e[[“gt0”]]<-Reduce(’+’,as.data.frame(e>0))
print(x)

####刚刚的测试数据
a=1:20
dim(a)=c(4,5)
a[1,1]=0
a[2,1]=0
a[2,2]=0
View(a)
a=as.data.frame(a)
x=a[[“gt0”]]<-Reduce(’+’,as.data.frame(a>0))
print(x)

#统计相邻的0的值 类型为list
x=apply(e,1,function(x){
rle(x) l e n g t h [ r l e ( x ) length[rle(x) length[rle(x)value==0]
})

#只要有0全部剔除
#row_sub=apply(e,1,function(row) all(row !=0))
#View(e[row_sub,])

#选取部分数据进行分析
#Express=Express[1:5000,1:2]

#按照数据选取表达不为0的数据行 20代表最低的不为0的单个数据个数
Express=Express[apply(Express,1,function(x) sum(x>1)>20),]
dim(Express)

Express=read.table(“E:/EXP0009_lnc_log2_afterQC.txt”,header = T,comment.char=’!’,stringsAsFactors = FALSE,quote = “”,sep=’\t’)
Express=Express[-1,-1]

Express=as.data.frame(Express)
#write.table(Express,file=“E:\resultTxt.txt” , sep =" ", row.names =TRUE,col.names =TRUE, quote =FALSE)
#Express=read.table(“E:/resultTxt.txt”,header = T)

#我们拿到的一些数据往往活存在很多字段,但是一些字段的数据对于结果是没有意义,或者意义极小,但是在做机器学习的过程中也会参与计算,对我们最终分析结果造成不利影响,我们要根据实际情况,把数据进行降维,使得计算过程更轻便。
library(sqldf)
library(dplyr)

为数据集增加序号列(id)

Express$id <- c(1:nrow(Express))

将数据集中70%的数据划分为训练集

Express_train <- sample_frac(Express, 0.7, replace = TRUE)

使用sql语句将剩下的30%花费为测试集

Express_test <- sqldf("
select *
from Express
where id not in (
select id
from Express_train
)
")

去除序号列(id)

Express_train <- Express_train[,-1]
Express_test <- Express_test[,-1]
View(Express_train)

对数据集进行主成分分析

Express_train_pca <- princomp(Express_train[,1:ncol(Express_train)])

绘制碎石图

screeplot(Express_train_pca, npcs = ncol(Express_train),type=“lines”)

提取主成分的信息

summary(Express_train_pca)

第一行是特征值(Standard deviation),

第二列是方差的贡献率(Proportion of Variance)

第三列是累计方差的贡献率(Cumulative Proportion)

方差的贡献率: 标准化后的特征值,全部相加等于100%

累计方差的贡献率:累加后的方差的贡献率

查看各个主成分与原始数据的关系

loadings代表每一个成分中之前特征系数

Express_train_pca$loadings

使用之间建好的公式对测试集进行降维处理

new_test <- as.matrix(Express_test[,1:ncol(Express_train)])%*%as.matrix(Express_train_pcaKaTeX parse error: Expected 'EOF', got '#' at position 65: …rame(new_test) #̲合并 Total<-cbind…group=factor(Total$group)
ggplot(Total,aes(x=Comp.1, y=Comp.2,col = group))+geom_point()

library(ggplot2)

ggplot(Express, mapping = aes(x=V1, y=V2,group=V3))+geom_point()
geom_point(color=“red”,size=1,shape=0)
#ggplot(Express, mapping = aes(x=V1, y=V2,col = V3))+geom_point(colour = “black”, size = 4.5)+geom_point(colour = “pink”, size = 4)
ggplot(Express, mapping = aes(x=X, y=Y,col = clustering))+geom_point(size = 0.5,alpha=0.7)+scale_color_gradient(‘clustering’, low = “red”, high = “blue”)

library(ggplot2)
Express c l u s t e r i n g = f a c t o r ( E x p r e s s clustering=factor(Express clustering=factor(Expressclustering)
#Express$clustering表示获取Express中的cluster列 并转化其类型
#将聚类编号的整型int改成factor类型,才能画出不同的颜色
#因子(factor)数据的类型分为名义型、有序型和连续型,其中名义型和有序型被称为因子,默认因子排序是按照字符排序
ggplot(Express,aes(x=X, y=Y,col = clustering))+geom_point()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值