R语言,values那个框框,数据怎么完全显示

Python023

R语言,values那个框框,数据怎么完全显示,第1张

1\加宽LIST的宽度,使其能容下最长的那个

2\使用list1.ToolTipText属性,当选中某个记录时,为list1.ToolTipText 属性赋值为这个记录的内容,这样鼠标移上去就会有一个说明,当然也可以用一个LABEL来显示.

3\用API函数

4\list控件一般只放比较短的字符串,您放这么长的干什么?调整您的程序设计.

API的使用

Option Explicit

Private Const LB_SETHORIZONTALEXTENT = &H194

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Command1_Click()

Dim max As Long, f As Font, i As Integer

Me.ScaleMode = vbPixels

Set f = Me.Font

Set Me.Font = List1.Font

With List1

For i = 0 To .ListCount

If Me.TextWidth(.List(i)) >max Then

max = Me.TextWidth(.List(i))

End If

Next

End With

max = max + 10

Set Me.Font = f

SendMessage List1.hwnd, LB_SETHORIZONTALEXTENT, max, ByVal 0&

End Sub

R语言学习之决策树

决策树最重要的2个问题:决策树的生长问题,决策树的剪枝问题。生长问题又包括了2个子问题:从分组变量的众多取值中选择一个最佳分割点和从众多输入变量中选择当前最佳分组变量;剪枝问题包括2个子问题:预修剪(事先指定树的最大深度,叶子的最小样本量等)和后修剪(先让树充分生长,然后边修剪边检验)。

在R中,实现决策树需要加载包library(rpart),如果想把分类图画的漂亮点,还可以加载这个包:library(rpart.plot)## rpart.control对树进行一些设置## xval是10折交叉验证## minsplit是最小分支节点数,这里指大于等于20,那么该节点会继续分划下去,否则停止## minbucket:叶子节点最小样本数## maxdepth:树的深度## cp全称为complexity parameter,指某个点的复杂度,对每一步拆分,模型的拟合优度必须提高的程度,用来节省剪枝浪费的不必要的时间,R内部是怎么计算的还真不知道唉ct <- rpart.control(xval=10, minsplit=20, cp=0.1)## kyphosis是rpart这个包自带的数据集## na.action:缺失数据的处理办法,默认为删除因变量缺失的观测而保留自变量缺失的观测。 ## method:树的末端数据类型选择相应的变量分割方法:## 连续性method=“anova”,离散型method=“class”,计数型method=“poisson”,生存分析型method=“exp”## parms用来设置三个参数:先验概率、损失矩阵、分类纯度的度量方法(gini和information)## cost我觉得是损失矩阵,在剪枝的时候,叶子节点的加权误差与父节点的误差进行比较,考虑损失矩阵的时候,从将“减少-误差”调整为“减少-损失”fit <- rpart(Kyphosis~Age + Number + Start, data=kyphosis, method="class",control=ct, parms = list(prior = c(0.65,0.35), split = "information"))## 作图有2种方法## 第一种:par(mfrow=c(1,3))plot(fit)text(fit,use.n=T,all=T,cex=0.9)## 第二种,这种会更漂亮一些:rpart.plot(fit, branch=1, branch.type=2, type=1, extra=102, shadow.col="gray", box.col="green", border.col="blue", split.col="red", split.cex=1.2, main="Kyphosis决策树")## rpart包提供了复杂度损失修剪的修剪方法,printcp会告诉分裂到每一层,cp是多少,平均相对误差是多少## 交叉验证的估计误差(“xerror”列),以及标准误差(“xstd”列),平均相对误差=xerror±xstdprintcp(fit)## 通过上面的分析来确定cp的值## 我们可以用下面的办法选择具有最小xerror的cp的办法:## prune(fit, cp= fit$cptable[which.min(fit$cptable[,"xerror"]),"CP"])fit2 <- prune(fit, cp=0.01)待续。。。。。。

注:1.在预测分类目标字段时为类别指定先验概率。先验概率是对总体(从中可提取训练数据)中的每个目标分类的总相对频率的估计。换句话说,先验概率是对预测值有任何了解之前对每个可能的目标值的概率估计。确定决策树分支准则的时候会用到,具体内部算法,我暂时还没有查到。

setwd("E:/GSE25066")#环境设置

library(limma)#加载差异分析包limma

#将分组文件加载到环境中,分组信息第一列为样本名,第二列为分组信息如“high”“low”

targets<-read.csv("group.csv")

#将表达矩阵加载到环境中,行为基因,列为样本,这里应该注意去除重复项。

eset<-read.csv("expreset-basal1.csv",row.names = "symbol")

targets$Target=gsub("_",".",targets$Target)##若数据中存在特殊符号,将"_"替换成“.”,也可以不替换

##该数据集中实际存在不符合R的命名原则,所以在没个分类前加一个“F”,具体自己定

targets$Target=c(paste0("F",c(targets$Target),collapse = NULL,sep=""))

colnames(targets)=c("FileName","Target")#更改列名,为了和limma包中的一致

lev<-unique(targets$Target)##使用unique()函数进行去重

f <- factor(targets$Target, levels=lev)

design <- model.matrix(~0+f)

colnames(design) <- lev

cont.wt <- makeContrasts("high-low",

                      +  levels=design)

fit <- lmFit(eset, design)#前面矩阵的row.name=“symbol”

fit2 <- contrasts.fit(fit, cont.wt)

fit2 <- eBayes(fit2)

tT=topTable(fit2, adjust="BH",sort.by="logFC",n=Inf)

tT = subset(tT, select=c("adj.P.Val","P.Value","logFC"))

colnames(tT)=c("FDR","P.Value","logFC")

write.csv(tT,"DEGbasal.csv")

#最后的tT就是得到的差异基因,其中包含基因,P.Value和logFC