ThinkPHP框架-2

article/2025/9/27 20:56:17

十、ThinkPHP框架中的模型

模型的作用、处理业务数据、与数据库进行交互。

1、导入数据表

新建tpshop数据库(create database tpshop character set utf8 collate utf8_general_ci)
在这里插入图片描述
导入数据表
在这里插入图片描述
说明:如果导入sql文件时,有报错,提示类似“不能使用innodb”
解决办法:
打开mysql配置文件,修改如下
在这里插入图片描述

重启mysql即可
如果重启失败,找到mysql的安装目录下data目录,删除以ib开头的文件(可以先备份)再重启。
在这里插入图片描述

2、配置数据库连接信息

(手册–数据库–连接数据库)
TP框架中、数据库的连接信息是通过配置文件来设置的。
修改application/database.php
在这里插入图片描述
注:框架底层使用PDO来连接数据库,从配置文件读取相关连接信息
时间戳:上述配置中,

'auto_timestamp'  => true, //自动写入时间戳字段

设置为true表示数据表新增数据、修改数据的时候会自动维护对应的时间信息
字段名默认创建时间字段为create_time,更新时间字段为update_time,支持的字段类型包括timestamp/datetime/int
(手册–模型–时间戳)
系统支持自动写入创建和更新的时间戳字段,有两种配置支持
第一种方式,是在数据库配置文件中添加到全局设置:

// 自动写入时间戳字段
'auto_timestamp'  => true,

第二种是直接在单独的模型类里面设置:

protected $autoWriteTimestamp=true;

如果这两个地方设置为true,默认识别为整型int类型。如果你的时间字段不是int类型的话,例如使用datetime类型的话,可以这样设置:

// 自动写入时间戳字段
'auto_timestamp'  => 'datetime',

或者

protected $autoWriteTimestamp='datetime';

字段名默认创建时间字段为create_time,更新时间字段为update_time,支持的字段类型包括timestamp/datetime/int。

3、模型的定义

(手册–模型–定义)
定义位置:application/当前分组目录/model目录下
命名规则:模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如:

模型名约定对应数据表(假设数据库的前缀定义是think_)
Userthink_user
UserTypethink_user_type

可以使用命令行创建模型

php think make:model admin/Goods

在这里插入图片描述

4、特殊表名称的处理

特殊表:没有前缀的表,或者前缀与配置项的设置不一致
解决办法:模型中使用$stable属性来设置完整数据表名称
比如:
在这里插入图片描述

十一、查询多条数据

(手册–模型–查询) 增删改查(CRUD create update read delete)
注意:控制器中使用模型类,必须先引入模型类。
在这里插入图片描述
在这里插入图片描述

1、获取多个数据(推荐静态调用select方法)

1、静态调用all方法或者select方法

//获取所有数据 all和select
$list=User::all();
//根据主键获取多个数据all和select where id in (1,2,3)
$list=User::all('1,2,3');
$list=User::all([1,2,3]);
//或者使用数组查询(只能用all不能用select)
$list=User::all(['status'=>1]);

2、动态调用all方法或者select方法

$user=new User();
//查询所有数据all和select方法
$list=$user->select();
//根据主键查询多条数据all和select
$list=$user->select('1,2,3');
$list=$user->select([1,2,3]);
//或者使用数组查询(只能用all不能用select)
$list=$user->all(['status'=>1]);

注:all方法或者select方法返回的是一个包含模型对象的二维数组或者空数组
select方法和All方法的应用:[obj,obj]
在这里插入图片描述

整个返回的数据结构[obj,obj,obj…]
在这里插入图片描述
为了打印查看方便,可以将结果进行转化
在这里插入图片描述

2、案例:后台商品列表展示

1、思路:
模板整合(略)
控制器方法中,调用模型查询数据(模板变量赋值)
数据在模板展示
2、所用知识点:
本章节之获取多个数据、变量输出与数组遍历、URL生成
3、实现
修改Goods控制器index方法,查询列表所需数据
在这里插入图片描述

3、(模板中)变量输出与数组遍历

1、变量赋值与变量输出
模板赋值:
在控制器中,使用$this->assign(“视图模板中的变量名”,变量值);
使用传入参数方法:view(‘模板名’,[‘视图模板中的变量名’=>变量值]);
变量输出:
在模板文件中,直接输出变量{$变量名}
输出数组中的值,点语法{$变量名:属性名};数组语法{$变量名[‘键名’]}
输出对象中的属性:冒号语法($变量名:属性名);对象语法{$变量名->属性名}
默认值设置语法:{$变量名|default=‘默认值’}

2、循环输出标签volist
(手册–模板–内置标签)
TP框架内置的遍历数组的标签:volist标签和foreach标签

{volist name="数组变量名" key='k' id='v' offset='5' length='10' empty='nothing'}{/volist}

name:要遍历的数组名,不需要$符号
key:定义循环变量名,默认为1,当前遍历的是第几个,从1开始计数,与原数组下标无关。
id;当前的循环变量,是一个变量名
offset:指定从第几个开始遍历,从0开始计数
length:指定遍历多少个元素就结束。
empty:为空的时候输出提示
其中:如果没有key属性,可以直接输出{$key}变量表示原数组的下标。
注意这几个属性必须有单双引号
在这里插入图片描述

3、循环输出标签foreach
foreach标签和volist标签类似,用法更加简单
最简单的用法

{foreach $list as $v} {/foreach}

也可以使用完整写法:

{foreach name="数组变量名" key="k" item="v"}{/foreach}

name:要遍历的数组名,不需要$符号
key:定义循环变量名,原数组的下标
item:当前的循环变量,是一个变量名
其中,使用完整写法时,如果没有定义key属性,可直接输出{$key}表示原数组的下标
完整写法:
在这里插入图片描述

4、URL生成

(手册–路由–URL生成)
在这里插入图片描述
在这里插入图片描述
url函数的第一个参数“模块/控制器/方法”,可以简写为“方法”,表示当前模块当前控制器的指定方法
使用示例:商品列表页 商品新增跳转地址 可以省略模块和控制器名称默认取当前页面所在的模块和控制器
在这里插入图片描述

十二、查询一条数据

1、获取一个数据(推荐静态调用find方法)
静态调用get方法或者find方法

//取出主键为1的数据
$user=\app\admin\model\User::get(1);
$user=\app\admin\model\User::find(1);
//使用数组查询(非主键字段),只能用get不能用find
$user=User::get(['name'=>'thinkphp']);
//取出第一条数据,只能用find不能用get
$user=User::find();

2、动态调用get方法或者find方法

$user =new User();
//取出主键为1的数据
$info=$user->find(1);
$info=$user->get(1);//使用数组查询(非主键字段),只能用get不能用find
$info=$user->get(['name'=>'thinkphp']);
//取出第一条数据,只能用find不能用get
$info=$user->find();

十三、其他查询方法

1、where方法(查询语法)

(手册–数据库–查询构造器–查询语法)

where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');
表达式含义
EQ、=等于(=)
NEQ、<>不等于(<>)
GT、>大于(>)
EGT、>=大于等于(>=)
LT、<小于(<)
ELT、<=小于等于(<=)
LIKE模糊查询
[NOT] BETWEEN(不在)区间查询
[NOT] IN(不在)IN查询
[NOT] NULL查询字段是否(不)是NULL
[NOT]EXISTSEXISTS查询
EXP表达式查询,支持SQL语法
>time时间比较
<time时间比较
between time时间比较
notbetween time时间比较

注:where方法中,如果表达式是等于,可以省略这个参数
应用示例:

$info=User::where('id','=','1')->find();$info=User::where('id','1')->find();$info=User::where('name','like','%thinkphp%')->select();

在这里插入图片描述
注意:使用了where方法后,查询数据可以使用find方法和select方法,不能使用get方法和all方法。(原因:where放啊返回的是Query对象,不是模型对象)

扩展:批量条件查询(手册–数据库–查询构造器–高级查询)
在这里插入图片描述

一条sql语句的组成可以很复杂,里边有where、order by、group by、限制查询的字段、limit、having限制条件等等,这些复杂的表达条件在TP框架中都有封装
注:TP框架中,中间的方法没有顺序要求,但是用于获取最终结果的find和select等方法必须放在最后。

常用链式操作方法

$model=new Address();$model->field('id,name')->select();//指定要查询的字段,原生sql中select后面的字段$model->order('id desc')->select();//相当于原生sql中的order by$model->limit(3)->selcet();//相当于原生sql中的limit条件$model->limit(0,3)->select();$model->limit('0,3')->select();$model->group('cate_id')->selet();//相当于原生sql中的group by$model->having('id>3')->select();//相当于原僧sql中的having条件$model->alias('a')->join('think_user_type t','a.id=t.user_id','left')->select();//alias方法设置别名 join放啊连表查询//Address::alias('a')->join('think_user_type t','a.id=t.user_id','left')->select();

连表查询:SELECT * FROM tpshop_goodspics g LEFT JOIN tpshop_goods gs on g.goods_id=gs.id;

$data=\app\admin\model\Goods::where('id','>',32)->field('id,goods_name')->order('id desc')->limit(5)->select();
dump($data);

3、统计查询(聚合查询)

(手册–模型–聚合或者手册–数据库–查询构造器–聚合查询)
在模型中也可以调用数据库的聚合方法进行查询:

方法说明
count统计数量,参数是要统计的字段名(可选)
max获取最大值,参数是要统计的字段名(必须)
min获取最小值,参数是要统计的字段名(必须)
avg获取平均值,参数是要统计的字段名(必须)
sum获取总分,参数是要统计的字段名(必须)

这些方法的返回值是具体的数据。在连贯操作中只能放在最后,不需要使用find和select。
count方法相当于 select count(*) from tpshop_user;

//统计查询
$count=\app\admin\model\Goods::where('id','>',32)->count();
dump($count);
$count=\app\admin\model\Goods::where('id','>',32)->max('id');
dump($max);

4、数据字段查询

1、查询一条记录的一个字段的值

Goods::where('id',2)->value('goods_name');

2、查询多条记录的一个字段的值,返回一个索引数组

Goods::where('id','GT',2)->column('goods_name');

3、查询多条记录的一个字段的值,以id字段值作为数组索引

Goods::where('id','GT',2)->column('goods_name','id');

在这里插入图片描述

5、trace调试

Trace调试功能就是ThinkPHP提供给开发人员的一个用于开发调试的辅助工具,可以实时显示当前页面的操作的请求信息、运行情况、SQL执行、错误提示等
开启Trace调试:
修改application/config.php配置以下参数:

'app_trace'=>true

设置后并且你的页面输出的话,页面右下角会显示ThinkPHP的LOGO:
在这里插入图片描述

我们看到的LOGO后面的数字就是当前页面的执行时间(单位是秒)点击该图标后会展开详细的Trace信息,如图:
在这里插入图片描述
小结练习

//根据id查询一条数据
$goods=\app\admin\model\Goods::find(33);//查询所有数据
$data=\app\admin\model\Goods::select();//根据指定的多个主键id查询多条 
$data=\app\admin\model\Goods::selec('32,33,34');
$data=\app\admin\model\Goods::where('id','in','32,33,34')->selec();//多个连贯操作方法组合使用
//select id,goods_name,goods_price from tpshop_goods order by id desc limit 0,5 
$data=\app\admin\model\Goods::field('id,goods_name,goods_price')->order('id')->limit(0,5)->select();//查询数据总条数
$total=\app\admin\model\Goods::count();

十四、模板中数据的展示

1、条件判断标签if

TP框架中内置了if标签,用于在模板文件中进行判断,语法如下:

{if condition="($name == 1) OR ($name > 100)"}value1{elseif condition="$name eq 2"/} value2{else/} value3{/if}也可以写为以下形式:
{if ($name==1)}valu1{/if}

2、范围判断标签in

范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否是某个范围

{in name="id" value="1,2,3"} id在范围内{/in}{in name="id" value="range"}id在范围内
{/in}

Name属性值为变量名,不带$符号
Value属性值可以是字符串范围,也可以是数组变量或者字符串变量
相当于原生PHP中的if(in_array)

3、使用函数

(手册–模板–使用函数)
在模板文件中输出变量,可以对变量使用函数进行处理
语法:两种语法:
{$变量名称|函数名称=arg1,arg2,###}
参数中,可以使用###代替输出的变量本身,如果变量本身是第一个参数,可以省略
示例

//对时间格式化
{$v.goods_create_time|date='Y-m-d H:i:s',###}
//对字符串进行MD5加密
{$name|md5}

{:函数名称(参数)}

{:data("Y-m-d H:i:s",$v['goods_create_time'])}

凡是PHP本身的函数或者框架中定义的函数,都可以在模板中直接调用

4、系统变量

(手册–模板–系统变量)
TP框架自带了一个$Think变量,用于在模板中输出系统变量

$think.server:相当于$_SERVER$think.get:相当于$_GET$think.post:相当于$_POST$think.request:相当于$_REQUEST$think.cookie:相当于$_COOKIE$think.session:相当于$_SESSION$think.config:输出配置参数$thinl.const.名称:输出常量相当于框架帮我们做了以下事情
$think=['get'=>$_GET,'post'=>$_POST
];
$this->assign('Think',$think);

示例:url地址:http://www.tpshop.com/index.php/Admin/Goods/index?page=10
展示page参数值:{$think.get.page}

5、使用运算符

在模板文件中输出变量时,可以先使用运算符进行运算

+  {$a+$b}
-  {$a-$b}
*  {$a*$b}
/  {$a/$b}
%  {$a%$b}取余或取模
++ {$a++}{++$a}
-- {$a--}{--$a}

十五、数据的添加操作

(手册–模型–新增)curd:create update read delete

1、添加一条数据(save方法)

添加一条数据
第一种是实例化模型对象后赋值并保存

$user=new User;
$user->name='thinkphp';
$user->email='thinkphp@qq.com';
$user->save();

也可以使用data方法批量赋值

$user->new User;
$user->data(['name'=>'thinkphp','email'=>'thinkphp@qq.com'
])
$user->save();

或者直接在实例化的时候传入数据

$user=new User(['name'=>'thinkphp','email'=>'thinkphp@qq.com'
]);
$user->save();

Save方法返回值是写入的记录数
在这里插入图片描述

2、静态方法添加(create方法)

在这里插入图片描述
添加数据使用示例:

3、添加多条数据(saveAll方法)

在这里插入图片描述

4、过滤非数据表字段

save方法:调用save方法之前,先调用allowField方法

在这里插入图片描述
create方法:给create方法传递第二个参数,true

user::create($_POST,true);

十六、案例:后台商品添加功能

需求:只添加最基本的信息(商品名称、商品价格、商品数量)
表单展示Goods控制器create方法(整合模板)
表单提交Goods控制器save方法
思路:显示form表单,提交form表单,将数据接收并保存到数据表。

1、功能实现

1、确认表单完整性,完善提交地址,name属性值等信息
在这里插入图片描述

2、知识点

1、模型的时间戳功能

(手册–模型–时间戳)
系统支持自动写入创建和更新时间戳字段,有两种方式配置支持。
第一种方式,是在数据库配置文件中添加全局设置:

// 自动写入时间戳字段'auto_timestamp'  => true,

第二种是直接在单独的模型类里面设置:

protected $autoWriteTimestamp=true;

如果这两个地方设置为true,默认识别为整型int类型,如果你的时间字段不是int类型的话,例如使用datetime类型的话,可以这样设置:

// 自动写入时间戳字段'auto_timestamp'  => 'datetime',

或者

protected $autoWriteTimestamp='datetime';

注:自动写入时间戳字段,前提是数据表必须有对应的字段存在。

2、页面跳转与重定向

(手册–控制器–跳转和重定向)
成功时跳转

$this->success("提示信息","跳转地址","返回数据","等待时间","header信息")

失败时跳转

$this->error("提示信息","跳转地址","返回数据","等待时间","header信息")

等待时间默认3秒。跳转地址可以不写,默认跳转回上一页。
重定向跳转:用于直接跳转,不显示提示信息。

$this->redirect("跳转地址","请求参数","http code");

十七、Ueditor富文本编辑器

1、Ueditor编辑器的下载

商品的详细描述一般都是图文混合。对于图文混合的内容,需要使用富文本编辑器来实现。
Ueditor富文本编辑器的下载地址:
http://ueditor.baidu.com/website/download.html
下载PHP版,然后解压放到public/plugins目录下
在这里插入图片描述

2、Ueditor编辑器的使用

使用步骤:
引入编辑器的代码到项目中
引入js文件
指定标签(携带id属性),编辑器的显示位置
在js中实例化编辑器

注意:使用时,富文本编辑器分为普通输入界面,和源代码输入界面。

如果要自己写html代码设置样式,必须点击左上角的html按钮 切换到源代码界面,输入完成后,必须至少点击一次html按钮,否则php中收不到数据。

案例实现:商品添加页面 使用ueditor富文本编辑器
将编辑器整合到项目

商品描述的添加:
在这里插入图片描述
按照ueditordom添加就行
控制器中接收到的商品描述字段值,是一段html代码字符串。
示例:

<p>测试商品描述<img src="/ueditor/php/upload/image/20211116/1637061229551681.jpg" title="1637061229551681.jpg" alt="preview(1).jpg"/></p>

十八、表单验证

1、验证语法

(手册–验证)
TP框架提供了一个、think\Validate验证类:
在这里插入图片描述

2、内置规则

(手册–验证–内置规则)

3、在商品添加功能中,进行表单验证(参数检测)

步骤:
定义验证规则数组$rule

定义提示信息数组$msg

实例化验证类

调用check方法进行验证

代码示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:
1、配置数据库连接信息
2、定义模型(模型和数据表对应关系,命令行创建模型类)
3、查询操作方法(find、select、where、统计查询、连贯操作方法)
4、商品列表功能及foreach标签、使用函数语法、url生成
5、添加操作及商品添加功能(save方法、saveAll方法、静态create方法、过滤非数据表字段)
6、页面跳转和重定向(success error redirect)
7、整合富文本编辑器到页面
8、表单验证(独立验证语法、控制器验证语法、内置规则)


http://chatgpt.dhexx.cn/article/13Ckbsbt.shtml

相关文章

ThinkPHP框架介绍及应用

一.ThinkPHP介绍 1.1.什么是框架 PHP框架是许多代码的集合&#xff0c;这些代码是程序结构的代码(并不是业务代码)&#xff0c;代码中有许多函数、类、功能类包&#xff0c;框架的代码按照一定标准组成了一个有机的功能体&#xff0c;这个功能体中有许多设计模式如MVC、单例、…

thinkPHP框架学习(速成,一天)

一。TP框架介绍与配置 第一个是最开始沿用的一种结构&#xff0c;它有一个致命的缺点&#xff1a;比如说如果后端程序员在编写的过程中&#xff0c;前端程序就不能做修改&#xff0c;一旦修改了&#xff0c;那么肯定会有冲突。 后来大家进行了改进----把前端脱离出来。 再后来…

【代码审计-PHP】基于Thinkphp框架开发的

前言&#xff1a; 介绍&#xff1a; 博主&#xff1a;网络安全领域狂热爱好者&#xff08;承诺在CSDN永久无偿分享文章&#xff09;。 殊荣&#xff1a;CSDN网络安全领域优质创作者&#xff0c;2022年双十一业务安全保卫战-某厂第一名&#xff0c;某厂特邀数字业务安全研究员&…

thinkphp框架的使用

ThinkPhp知识大全&#xff08;非常详细&#xff09; 转载文章&#xff0c;感觉写的非常好 thinkphp.cn thinkphp 3.2版本 【框架项目部署】 部署一个Shop项目&#xff0c;使用tp框架 步骤&#xff1a; 创建入口文件&#xff1a; 1.在ThinkPHP目录下创建一个入口文件index.…

PHP之ThinkPHP框架

一、框架概述 1、什么是框架 框架就是一些代码类、方法&#xff08;函数&#xff09;、变量、常量的集合&#xff0c;这些代码是功能结构性的代码&#xff08;并非业务代码&#xff09;。业务代码其实就是具体的一些模块的增删改查逻辑代码。 使用框架开发项目&#xff0c;有…

ThinkPHP框架之快速入门

一.创建工程tp&#xff0c;目录结构如下: 在工程下导入thinkphp。 在tp中&#xff0c;可以在任何目录下创建入口文件&#xff0c;也可以把项目初始化到任何目录下. index.php: <?php //定义thindphp的路径 define(THINK_PATH, ./ThinkPHP/); //默认值当前目录下的./Thi…

PHP_thinkPHP框架(1)

能够理解并使用composer PHP一个包管工具 解决源码包 依赖问题 ​ 1.7.3 软件升级 composer self-update 能够安装Thinkphp5.1框架 composer create-project --prefer-dist topthink/think[版本号] 目录名称 ​ 安装之前一定要切换国内源&#xff0c;否则成功的概率很小。 …

使用ThinkPHP框架快速开发网站(多图)

使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站&#xff0c;基本功能算是完成了。比较有收获的是大概了解了ThinkPHP框架。写一些东西留作纪念吧。如果对于同样是Web方面新手的你有一丝丝帮助&#xff0c;那就更好了挖。 以前用PHP做过一个很蹩脚的网站&#xff0…

ThinkPHP框架完全解析一

第一步&#xff1a;搭建应用和框架目录 文件系统结构如上图所示&#xff0c;新建一个名为tp_an的目录作为我们的应用目录。其中&#xff0c;ThinkPHP这个目录&#xff0c;就是thinkphp框架的目录。所有涉及到框架的开发&#xff0c;都会在ThinkPHP中进行。只是为了方便测试&…

Thinkphp框架初始及安装部署

一、框架概述 1、什么是框架 框架就是一些代码类、方法&#xff08;函数&#xff09;、变量、常量的集合&#xff0c;这些代码是功能结构性的代码&#xff08;并非业务代码&#xff09;。业务代码其实就是具体的一些模块的增删改查逻辑代码。 使用框架开发项目&#xff0c;有…

认识thinkphp框架

https://www.thinkphp.cn/down.html 版本5.0.24 ThinkPHP是一个免费开源的&#xff0c;快速、简单的面向对象的轻量级PHP开发框架 tp5 WEB部署目录&#xff08;或者子目录&#xff09; ├─application 应用目录 │ ├─common 公共模块目录&#xff08;可以更改&#xff09; …

【Java教程系列】IDEA快捷键大全。

自动代码 常用的有fori/sout/psvmTab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.forTab &#xff1b; 再比如&#xff0c;要输入Date birthday user.getBirthday()只需输入user.getBirthday().varTab即可。…

IDEA快捷键大全(超详细!)

4.1、字体设置 file --> settings --> 输入font --> 设置字体样式以及字号大小。 4.2、快速生成main方法 psvm、main 4.3、快速生成System.out.println() sout 4.4、注意&#xff1a;IDEA是自动保存&#xff0c;不需要ctrl s 4.5、删除一行 ctrl y 4.6、怎…

IDEA的实用快捷键大全

目录 1.常规快捷键 1.1通用类 1.2注释类 1.3操作类 1.4展开与关闭 2.智能补全类快捷键 3.程序结构类快捷键 4.统一操作快捷键 1.常规快捷键 1.1通用类 像 Ctrl C 复制&#xff0c; Ctrl V 粘贴&#xff0c; Ctrl S保存文件&#xff0c; Ctrl X剪切&#xff0c;这种…

IDEA快捷键大全 + 动图演示

目录 一、构建/编译二、文本编辑三、光标操作四、文本选择五、代码折叠六、多个插入符号和范围选择七、辅助编码八、上下文导航九、查找操作十、符号导航十一、代码分析十二、运行和调试十三、代码重构十四、全局 CVS 操作十五、差异查看器十六、工具窗口 一、构建/编译 Ctrl …

Idea快捷键大全(Windows)/Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总

Ctrl 快捷键 介绍 Ctrl F 在当前文件进行文本查找 &#xff08;必备&#xff09; Ctrl R 在当前文件进行文本替换 &#xff08;必备&#xff09; Ctrl Z 撤销 &#xff08;必备&#xff09; Ctrl Y 删除光标所在行 或 删除选中的行 &#xff08;必备&#x…

python 相关性检验怎么计算p值_挖掘数据内部联系:相关性分析

相关性表示的是两个观测的数据向量之间的变化关系。一般来讲研究对象(样品或处理组)之间使用距离分析,而元素(物种或环境因子)之间进行相关性分析。两个变量之间的相关性可以用简单相关系数(例如皮尔森相关系数等)进行表示,相关系数越接近1,两个元素相关性越大,相关系数越接…

python 相关性检验怎么计算p值_数据分析---用Python进行相关性分析(兼谈假设检验)...

一、相关关系和相关系数 世上除了因果关系,还有相关关系。 有一个叫“相关系数”的指标来量化两个事物之间的相关程度。 其中相关系数用“r”表示,取值范围介于-1和1之间。 当(X,Y)正相关的时候,r=1;当(X,Y)负相关的时候,r=-1;当(X,Y)不相关的时候,r=0。 当然一般的线性…

python 相关性检验怎么计算p值_机器学习:数据的准备和探索——数据假设检验...

图 | 源网络 文 | 5号程序员 数据假设检验是数理统计学中根据一定假设条件由样本推断总体的一种方法。 那我们啥时候会用到假设检验呢? 大多数情况下,我们无法分辨事物的真伪或者某种说法是否正确,这时就需要进行假设,然后对我们的假设进行检验。 比如,我们想知道被告人是…

R语言笔记十一:相关性分析函数及相关性检验函数

1.相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析&#xff0c;从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。简单来说就是变量之间是否有关系。 相关性可能是正相关&#xff0c;…