栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

白萝卜de学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

白萝卜de学习笔记

基本按键&基础知识
???Ctrl+L 清空命令窗口(全清)
???Ctrl+S 存盘
???Ctrl+enter 笔记显示
???Ctrl enter  在左上角显示R语言的自带数据
???objeck()或ls()查看当前变量
???rm()删除变量
???Ctrl +/- 加大/减小字号
???dev.new() 新开一个窗口
???assign("g", c(10.4, 5.6, 3.1, 6.4, 21.7))起名
???plot.new 新开一个画图窗口,扫空右下角窗口
???e+06   10的6次方   1.37e+06 1.37乘以10的6次方

???

data的处理
???data("iris")#加载iris数据    as.data.frame()
???setwd(' \   \   ') 打开文件  or /
  ???install.packages('e1071')
???read.csv("snsdata.csv")
read.csv(file='airquality.csv',header = T)
read.table('usedcars.csv',header=T,sep=',')
read.table(file = 'HW.txt',header = T,sep=' ')
read.table('mushrooms.csv',header=T,sep=',')
read_xlsx("temp_1.xlsx")
scan(file = 'wine178.csv',sep=',',skip=1)#向下一行再读,第一行不
???write.table(temp_1,file='D:\Ryuyan\temp_1.txt')
write.csv(temp_1,file='D:\Ryuyan\temp_1.csv')
write.table(iris_sub,file = 'iris_sub.txt',row.names = F)
write.csv(fruit, file = "fruit.csv", 
          row.names = F, 把列名去掉
          quote = F,
          sep:??字段分隔符字符串
          na = "")去掉NA
如果表没有列,则仅在row.names = TRUE时才写入行名称,反之亦然。保存数据为文件的函数
???save(iris_sub,file = 'iris_sub.Rdata')
save(list = ls(all=TRUE),file="D:\Ryuyan\.Rdata")#把environment里所有变量存到盘上
???
???判断数据类型
is.numeric() ?? 是否数值型数据
is.character() ????是否字符型数据
is.vector() ????是否向量数据
is.matrix() ????是否矩阵数据
is.data.frame() ????是否数据框数据
is.factor() ?? ??是否因子数据
is.logical() ????是否逻辑型数据
以上为判断数据类型的函数,其返回TRUE或FALSE
???转换数据类型  as.
???factor()#生成因子
???mode(a) 数据类型
cat()   paste()
a<-c(1,2,3,4)
b<-c(4,5,6,7)
c<-c('hi','hello')
paste(a,b,c)
cat(a,b,c)
> paste(a,b,c)
[1] "1 4 hi" ?? ??"2 5 hello" "3 6 hi" ?? ??"4 7 hello"
> cat(a,b,c)
1 2 3 4 4 5 6 7 hi hello
???

???

数组
???取元素
q<-c(x,x,1,2,3)
q[3]第三个
q[2:10] 第2到第十个元素
e<-c(d[1],d[7]) 取第一个和第七个元素组成子数组
???z<-2*1:15
???n<-20
a<-(n-1):1
???mean(c(2,4,NA,6,8),na.rm = T)
???seq(2,10)  #产生2:10的数据
seq(-10,10,by=0.1)  #以0.1为间隔,-10到10的数
x<-seq(length=51,from = -1,by=.2) #个数, 起始点,间隔
???x<-c(1,2,3,4,5)
y<-rep(x,time=5) #循环重复5遍
y<-rep(x,each=5)  #每个重复5遍
c("x","y")[rep(c(1,2,2,1), times=4)]
???labs<-paste(c("x","y"),1:10)  #粘合
labs<-paste(c("x","y"),1:10,sep='+')  #x+1,y+2......
paste(1:12,c("a","b",rep("c"),10))
#[1] "x" "y" "y" "x" "x" "y" "y" "x" "x" "y"
#[11] "y" "x" "x" "y" "y" "x"
???x[-(1:5)]  #前一到五个不要
???a<-gl(2,5)
[1] 1 1 1 1 1 2 2 2 2 2
Levels: 1 2
???gl(2,6,labels = c("Male","Female"))
[1] Male   Male   Male   Male   Male   Male   Female
[8] Female Female Female Female Female
???Mode
mode中将integer和double显示为numeric
mode是指变量的类型如:数值型、字符型、逻辑型等
???Class
class是指变量的类别如:矩阵、列表、数据框等
???Typeof
typeof是对变量类型的细分
???scores<-scan() #输入数字
???cut(scores,breaks = c(0,59,70,85,100))#显示所在区间
???sexes<-sample(c('M','F'),length(scores),replace = T)#有放回随机变量)
sample(85:100,39,replace=T)
???a<-numeric()
a[3]<-7
a[5:8]<-c(6,7,10,-2)
???length(a)<-5 #去掉a中第五个元素
???x<-cbind(a=1:3, pi=pi)#col合并
???options(digits = 5)#改变小数点后的位数
???b1<-lapply(iris[,1:4],mean)
> b1[[1]]#看b的第一个位置
[1] 5.843333
> b1[1]
$Sepal.Length
[1] 5.843333
???which(iris$Sepal.Length<5 & iris$Species=='virginica')
???xx<-c(1:100,100:1)
yy<-rev(cumsum(xx))
cumsum()#累计求和
rev(cumsum(xx))#结果颠倒
???sort(S) #给出从小到大排序的结果
sort(S,decreasing = T) #从大到小排序结果
order(S) # 给出数字从小到大、在原始数据S里的位置
???temp_1 <- temp_1[order(temp_1$score),]
??? rank(S) #表示原始数据在排序后的序列里的位置,如果有相同数据排序,#那么这个位置值就取两个位置的平均数
???if(x>4){
  z=x+y;
  print(z)
  print("z is ok")
}else{
  print("Condition does not hold")
}
???x<-c(3,8,7,2,1,3,9,60,30,12)
y<-0
for(i in x){
  y<-y+i
}
???f=vector()
f[1]<-1
f[2]<-1
i=3
repeat{
  f[i]<-f[i-1]+f[i-2]
  i<-i+1
  if(f[i-1]+f[i-2]>=1000)break
}
???rnorm(100) #产生100个服从正态分布的随机数
???switch(i,mean(1:10),rnorm(10))
???switch(i+1,mean(1:10),rnorm(10))
???> set.seed(100)
> x <- rnorm(5)
> y <- rnorm(5)
> x==y
[1] FALSE FALSE FALSE FALSE FALSE
> set.seed(1000)
> x <- rnorm(5)
> set.seed(1000)
> y <- rnorm(5)
> x==y
[1] TRUE TRUE TRUE TRUE TRUE
???My_f =function(x)
{
  v1=2*x[x<=-1]+3
  v2=((x+3)/(x+3))[(x>-1)&(x<=1)]
  v3=x[x>1]^2
  y=c(v1,v2,v3)
  return(y)
}
x=c(-5:5)
y=My_f(x)
???"%!%" <-function(x, y) { cos(x)*sin(y)}
x<-c(1,2,3)
y<-c(4,5,6)
x%!%y

"哈哈" <-function(x, y) { cos(x)*sin(y)}
x<-c(1,2,3)
y<-c(4,5,6)
哈哈(x,y)
x哈哈y   #不行
???

数字函数
???log10(100)
???log(10)  #以e为底
???log(x,y)  #以y为底
???exp(x)  #e的x次方
???sin()
???cos()
???tan()
???sqrt()  #开平方
sqrt(x, 3)#开立方
???max(iris$Sepal.Length)
???min(iris$Sepal.Length)
???range(iris$Sepal.Width)
???

文字函数
???x <-c("Hellow","World","!")
???nchar(x)  #查找每个字符的个数
???tolower(DNA)  #变小写
???toupper(DNA)   #变大写
???chartr("Tt","Uu", DNA)  #T变t
???chartr("TtA", "Uua", DNA) # T换成U, t换成u, A换成a
???X<-c("He say:’hello’, and then go")#‘/’可以没有
???substr("abcdef",start=2,stop=4)  #从第二个到第四个字符
???

数据缺失
???NA #数据缺失
???NAN #not a number
???is.na()  #查看数据缺失
???#缺失为TRUE,否则为FALSE
???NAN属于NA
???x<-c(-3:10,NA,NA)
???y <- x[!is.na(x)]
???(x+1)[(!is.na(x)) & x>0] -> z  ==  x[(!is.na(x)) & x>0]+1
???x[is.na(x)] <- 0  #把NA变成0
???y <- abs(y)    #全部变为非负
???y<-c(-4:5)
???y[y < 0] <- -y[y < 0]
???teens$gender <- ifelse(is.na(teens$gender),'I see',teens$gender)  #性别缺失为I see, 否则为之前的或0
???

矩阵&列表
???> attributes(x)
$names
[1] "apple" "orange"
> attr(x,"names")
[1] "apple" "orange"
???dim()
dimnames([1])#每行的名字
dimnames([2])#每列的名字
???attributes(x)<-NULL
???row.names(x)<-c('row1','row2','row3')#命名
colnames(x)<-c('c1','c2','c3','c4','c5','c6','c7','c8')
attr(x,"dimnames")<-list()清空命名
???x[c(1,3,4),c(1,3,5,7,9)]#选择多行多列
???L%*%H #内积 矩阵
???L%o%H  #外积   数
outer(L,H)
???t(x)#矩阵的转置
???aperm(x)#数组或矩阵的转置
???b<-aperm(a)  #每个矩阵的第一行组合到一起,第二行组合到一起
???diag(A)  #取对角线元素
???diag(3)  #I3三阶单位矩阵
???colMeans(iris[,1:4])#均值,对前四列同时求
???rowMeans(A)#行的均值
???apply(A,1,mean)#行求均值
???apply(A,2,mean)#列求均值
???x<-solve(A,B)  Ax=B
???eigen(A) #eigenvalue
???unlist(b1)#将列表变成向量
???> attach(onedata.frame)
> age
[1] 20 30 40 50
> name
[1] "Zhangshan" "Lisi"?????????? "Wangwu"?????? "Zhaoliu" ??
> detach(onedata.frame)
> name
错误: 找不到对象'name'

???fruit<- c(5, 10, 1, 20)
???names(fruit) <- c("orange", "banana", "apple", "peach")
???orange banana  apple  peach
???5     10      1     20
???lunch<- fruit[c("apple","orange")]
???apple orange
???1      5
???

建立列表
???x<-1:24
attr(x,'dim')<-c(3,8)
???x<-1:24
dim(x)<-c(3,8)
dim(x)<-c(2,6,2)
???cbind(a,b)#按列排
???a<-c(1,-2,3,-4)
b<-c(0,1,-1,1)
c<-c(1,3,0,1)
d<-c(0,-7,3,1)
A<-rbind(a,b,c,d)#按行排
???matrix(x,nrow = 9,byrow = T)#先放行,F先放列
???x<-1:36
A<-array(x,c(4,9))#A<-array(x,dim=c(4,9))#先放列
???list(name="Fred",wife="Mary",children=3,child.ages=c(4,7,9))
???x<-c(1,3,4)
y<-matrix(1:24,nrow = 3,byrow = T)
q<-c("aaa","bbb","ccc")
z<-list(X=x,Y=y,Q=q)
???ID<-c(1,2,3,4)
name<-c("a","b","c","d")
score<-c(70,80,90,100)
student1<-data.frame(ID,name)
student2<-data.frame(ID,score)
View(student2)
total_student1<-merge(student1,student2,by="ID")#合并时需要同样的一列
???total_student2<-cbind(student1,student2)#按列合并
???rbind(student1,student2) #if use cbind here, it’s right ! see the results.
???mydataframe <- data.frame(
  name=c("张三", "李四", "王五", "赵六", "丁一"),
  sex=c("F","F","M","M", "M"),
  age=c(16, 17, 18, 16, 19),
  height=c(167.5, 156.3, 177.3, 167.5, 170.0),
  weight=c(55.0, 60.0, 63.0, 53.0, 69.5) );
mydataframe1<-t(mydataframe)#不是数据框,不能计
mydataframe2<-as.data.frame(mydataframe1)
mydataframe$H_W_ratio<-mydataframe$height/mydataframe$weight#新添一列
subset(mydataframe,name==c('王五','赵六'))
USA_pro_Mode_Astro<-subset(Cars93,Cars93$Origin=='USA'&Cars93$Model=='Astro',select = c(Type,Price))
???wbcd<-wbcd[,-1]#去掉第一列
???str(wbcd)#紧凑地显示对象内部结构,即对象里有什么
???wbcd$diagnosis<-factor(wbcd$diagnosis,
                       levels = c("B","M"),
                       labels =c("benign","malignant"))

???

Apply
???table(sexes,scoresF)#行为,列为,分类
???scoresF
???sexes 差 中 良 优
???F  4  2  5  2
???M  1  1  6 10
???tapply(scores, sexes, mean)
tapply(scores, sexes, sd)#标准差
???sapply(1:3,function(x)x^2)       1 4 9
a<-sapply(1:5,function(x) cos(x)/(sin(x)+exp(x)))
???sapply(iris[,1:4],mean)
???b<-lapply(1:5,function(x) x^2)
b1<-lapply(iris[,1:4],mean)
???a<-mapply(function(x)x^2,1:3)
mapply<-(function(x)x^2,iris[,1:4])
mapply(rep,times=1:4,x=5:8)#数据5:8,5一遍,6两遍,7三遍,8四遍

???

图像
???plot(x)    #Ploting with x as Y-axis and the order numbers are as the X-axis
???plot(x,y)    #Binary plotting of x and y
plot(A,B)  #A为x轴,B为y轴
plot(A,B+C)  #同时画B和C
plot(x,y,type = 'p')
plot(x,y,type = 'l')
plot(x,y,type = 'b')
plot(x,y,type = 'o')
plot(x,y,type = 'h')
plot(x,y,type = 's')#垂直线顶端显示数据
plot(x,y,type = 'S')#底端
      x<-1:30
y<-sin(x)
plot(x)
plot(x,y)
lines(x,y,col="red")  #加线 
points(x,y,type = 's')  #加矩形线
      text(24,0.5,"啦啦啦")#在坐标上加字
mtext('i j k',side=1)#下
mtext('i j k',side=2)#左
mtext('i j k',side=3)#上
text(42.183,'hhh')
???pie(x)    #饼图
a<-c(25,56,89)
b<-c("A","b","c")
pie(a,b,col=c("skyblue",'lightgreen',"red"))
hist(x, breaks = "Sturges",
     freq = NULL, probability = !freq,
     include.lowest = TRUE, right = TRUE,
     density = NULL, angle = 45, col = NULL, border = NULL,
     main = paste("Histogram of" , xname),
     xlim = range(breaks), ylim = NULL,
     xlab = xname, ylab,
     axes = TRUE, plot = TRUE, labels = FALSE,
     nclass = NULL, warn.unused = TRUE)
主要参数的含义如下:
(1)x
向量,直方图所用到的数据。
(2)breaks
breaks = c(0.5, 1.5, 2.5, 3.5)
直方图的断点,主要有以下几种情况:
①可以是一个向量给出直方图中每个区间的断点;
②可以是一个函数用于计算每个断点的向量;
③用于表示区间数的一个数字;
④一个字符串用于给出计算区间数所使用的算法;
⑤一个用于计算区间数的函数。
(3)freq
逻辑变量,如果设置为TRUE,则直方图的数据为频数,若为FALSE,则为概率密度。
当仅当breaks为等距,且为指定probability时,freq默认为TRUE。
(4)probability
与!freq的含义相同。
(5)include.lowest
逻辑值,如果为TRUE,则如果数据x[i]等于断点值,则会包含在第一个区间条中(如right参数为FALSE,则会包含在下一个区间中)。除非breaks是向量,否则设置会被忽略并给出一个警告错误。
(6)??right
逻辑值。如果设置为TRUE,则直方图条右侧区间是封闭的(左侧开放)。
(7)density
 density = 1/2/3
指阴影线的密度,即每英寸(2.54厘米)的线数。默认值为NULL值,意味着没有阴影线。非正值也不会绘制阴影线。
(8)angle
指阴影线的斜度,以逆时针角度给出。默认为45度。
(9)col
填充条形使用的颜色。默认值为NULL,即没有填充色。
(10)border
border = NA
数字或字符串,用于描述条形边框的颜色。默认为NULL,即使用标准前景色。
(11)main(主标题), xlim, ylim, xlab, ylab
见本站关于plot函数中的说明(R语言中plot函数的使用)
(12)axes
逻辑值。默认为TRUE,绘图时绘制轴。
(13)labels
逻辑值。默认为FALSE,如果为TRUE,则在条形框的顶端给出标签(频数或密度)。
???boxplot(x)    #箱型图
boxplot(x, ..., range = 1.5, 
width = NULL, 
varwidth = FALSE, 
notch = FALSE, 
outline = TRUE, 
names, 
plot = TRUE, 
border = par("fg"), 
col = NULL, 
log = "", 
pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5), 
horizontal = FALSE, 
add = FALSE, 
at = NULL)
主要参数的含义:
x: 向量,列表或数据框。
formula: 公式,形如y~grp,其中y为向量,grp是数据的分组,通常为因子。
data: 数据框或列表,用于提供公式中的数据。
range: 数值,默认为1.5,表示触须的范围,即range × (Q3 - Q1)
width: 箱体的相对宽度,当有多个箱体时,有效。
varwidth: 逻辑值,控制箱体的宽度, 只有图中有多个箱体时才发挥作用,默认为FALSE, 所有箱体的宽度相同,当其值为TRUE时,代表每个箱体的样本量作为其相对宽度
notch: 逻辑值,如果该参数设置为TRUE,则在箱体两侧会出现凹口。默认为FALSE。
outline: 逻辑值,如果该参数设置为FALSE,则箱线图中不会绘制离群值。默认为TRUE。
names:绘制在每个箱线图下方的分组标签。
plot : 逻辑值,是否绘制箱线图,如设置为FALSE,则不绘制箱线图,而给出绘制箱线图的相关信息,如5个点的信息等。
border:箱线图的边框颜色。
col:箱线图的填充色。
horizontal:逻辑值,指定箱线图是否水平绘制,默认为FALSE。
boxplot(len ~ dose:supp,   #公式,len为向量,dose:supp是数据的分组
        data = ToothGrowth,
        boxwex = 0.5,#箱子宽度
        col = c("orange", "yellow"),
        main = "Guinea Pigs' Tooth Growth",
        xlab = "Vitamin C dose mg", ylab = "tooth length",  #x,y轴命名
        sep = ":",  #两个变量之间的连接符号
        lex.order = TRUE,
        ylim = c(0, 35),#y轴范围
        yaxs = "i")
???
???hist(x)    #频率直方图

???barplot(x)    #条形图

???coplot(a~b|c) #c is a factor
给定c的条件下,画a,b的关系散点图
???pairs(iris) 生成一个配对的散点图矩阵,矩阵由X中的每列的列变量对其他各列列变量的散点图组成,得到的矩阵中每个散点图行、列长度都是固定的。
???dotchart()#同样的数据有几个
dotchart(cars$speed,xlim = c(5,10))
???x<-seq(-10,10,0.1)
y<-x
z<-outer(x,y,function(a,b) a^2+b^2)
class(z)
image(x,y,z)

contour(x,y,z)

???persp(x,y,z)#马鞍图
???plot(1:5, 1:5, type = "n", 
???     xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 1:5, y = 1:5, circles = rep(1, 5), inches = FALSE, add = TRUE)

???设置参数
persp(x, y, z, 
      theta = 45, 
      phi = 20,
      expand = 0.5, 
      col = rainbow(1000),
      r=180,
      ltheta = 120,
      shade = 0.75,
      ticktype = "detailed",
      xlab = "X", ylab = "Y", zlab = "Sinc( r )" ,
      border=30,
      mfrow=c(2,1))
par(opar)# Restoring the parameters of par回复默认参数
???opar<-par(no.readonly=TRUE)
par(mfrow=c(3,1))
par(ps=10)#10
par(opar)
???par(cex.main=1.5)#取倍数
???xx<-c(1:100,100:1)
yy<-rev(cumsum(xx))
cumsum()#累计求和
rev(cumsum(xx))#结果颠倒
plot(xx,yy,type = 'n',xlab = "time",ylab = "distance")
polygon(xx,yy,col='gray',border = 'red')#给图形填充颜色
title('i am happy to do this')
???图例
legend(-1, 1.9, #x,y图例位置
       c("sin", "cos", "tan"),
       col = c(3, 4, 6),#与上面对应
       text.col = "green4",
       lty = c(2, -1, 1),#线型,与上面对应,默认-1
       pch = c(NA, 3, 4),#
       merge = TRUE,#表示符号是否居中
       bg = "gray90")#背景
text(200, 10, expression(x %in% A))#x属于A
???text(600, 20, 
      expression(paste(bgroup("(", atop(n, x), ")"), 
      p^x, q^{n-x})))

???x <- expression(paste(x, "", y))
cl<- quote(paste(x, "****", y))
par(mar = rep(0.1, 4), cex = 2)
plot.new( )
plot.window(c(0, 1.2), c(0, 1))
text(0.2, 0.5, x)
text(0.6, 0.5, cl)
cl<- quote(paste(1 <= x, NULL <= 4))
text(1, 0.5, cl)
title(main="BlackbgAndRedfg",     
      col.main="yellow",
      sub="Byprogram-dog.blogspot.com",
      col.sub="white")
title('expression(x %in% A)')

???

k-NN算法
1.#计算欧式距离
a<-matrix(c(6,4,8,5),byrow = T,nrow=2)#把两个元素写成矩阵形式
dist(a,p=2)#p=2指计算前两行之间的距离
#(如果a矩阵大于两行,每两行对应元素做:sqrt(求和(a-b)^2))

aa<-matrix(c(6,4,8,5,3,7,3,6,7,3),byrow = T,ncol=2)
dist(a,p=2)#(看第一列就是tomato的数据与其他数据的距离)
#注意dist中数据是按列排,可以用【1:4】查看数据
#1)注意多组数据时,量纲大的占优势
#做等比例压缩到0~1/-1~+1


归一化
???library('gmodels')
???library(class)
???
normalize<-function(x){
                  return((x-min(x))/(max(x)-min(x)))}
     #归一化函数,数据差距大的时候用

wbcd_n<-as.data.frame(lapply(wbcd[,2:31],normalize))
summary(wbcd_n$radius_mean)
wbcd_train<-wbcd_n[1:469,]#取训练样本,训练特征数据
wbcd_train_labels<-wbcd_n[1:469,1]#取训练标签
wbcd_test<-wbcd_n[470:569,]#取测试样本,测试特征数据
wbcd_test_labels<-wbcd[470:569,1]#取测试标签

???
#(1)
setwd('D:\Ryuyan\data')
wine178<-read.csv("wine178.csv",header = T)
normalize<-function(x){return((x-min(x))/(max(x)-min(x)))}
#归一化函数,数据差距大的时候用
wine178_n <- as.data.frame(lapply(wine178[1:13], normalize))
wine178$class<-as.numeric(wine178$class)
wine178_n$class<-wine178$class
#(2)
index<-sample(178)
wine178<-wine178[index,]
wine178_n<-wine178_n[index,]
train_data<-wine178_n[1:89,1:13]
test_data<-wine178_n[90:178,1:13]
train_labels<-wine178_n[1:89,14]   #class
test_labels<-wine178_n[90:178,14]

test_pred <- knn(train = train_data, 
                 test = test_data,
                 cl = train_labels, 
                 k = 11)#取21个邻居
table(test_labels,test_pred)
CrossTable(test_labels,test_pred)#混淆矩阵

线性规划
???#Q 残差平方和  实际-模型
???#S 偏差 实际-平均
???#U 回归 模型-平均
???#S=Q+U
???#达到最小的那组记为^
???#R2=U/S 0 ???insurance.df<-read.table(file = "Q1_Policies.txt",header = T)
attach(insurance.df)
insurance.lm<-lm(Policies~Quotes,    data = insurance.df)
insurance.lm
summary(insurance.lm)
#置信区间为95%的置信区间
1-α/2=0.975
qt(0.975,58)
0.51344+/-qt(0.975,58)*0.03308
predict(insurance.lm, 
        data.frame(Quotes=c(40,50)),
se.fit = T,
        interval = 'confidence',
        level = 0.95)
???检验
t.test(X,
       alternative="greater",#右边检验"
/less",#左边检验
/"two.sided",#双边检验
       mu=225)
???alternative hypothesis: #备择假设
???Inf#无穷大
???t.test(X,Y,var.equal=TRUE, alternative="less")
???|t|>qt(0.975,18),拒绝原假设,接受备择假设
#大于接受,小于拒绝
???t.test(X-Y, alternative="less")


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号