斐波那契数列--九九乘法表

# 1、    打印斐波那契数列
kl<-c(1,1)
for (i in 1:8){
kl[i+2]<-kl[i]+kl[i+1]
}
kl # 10、 打印九九乘法表
# R 输出函数
for (i in 1:9){
for (j in 1:i){
cat(i,"*",j,"=",i*j," ")
}
cat('\n')
}

R语言的输出:cat() print() paste() 输入:scan() readline()

期望值

#一个随机事件的期望值可以看做是某种加权平均值,
#它是该事件每一个可能结果乘以权值后所得结果的总和,
#权值对应每一个可能结果出现的概率

掷一个色子

#掷一个色子
#所有结果 1 2 3 4 5 6
#所对概率 1/6 1/6 1/6 1/6 1/6 1/6
E_roll<-1*1/6+2*1/6+3*1/6+4*1/6+5*1/6+6*1/6
E_roll
# 求均值
mean(1:6)

掷两个色子

#掷两个色子
#所有结果 36
#所对概率 1/36 #列出n个向量元素的所有组合
sz<-1:6
rolls<-expand.grid(sz,sz)
#添加var1的概率
rolls$prob1<-1/6
#添加var2的概率
rolls$prob2<-1/6
rolls
#添加总概率值
rolls$prob<-rolls$prob1*rolls$prob2
#添加value值
rolls$value<-rolls$Var1+rolls$Var2
#计算期望值
E_ROLLS<-sum(rolls$prob*rolls$value)
E_ROLLS

掷两个色子(作弊)

#1 2 3 4 5的概率为1/8
#6的概率为3/8
rolls1<-expand.grid(sz,sz)
#添加var1的概率
# 1/8 5次,3/8 1次
rolls1$prob1<-rep(c(1/8,3/8),c(5,1))
#添加var2的概率
rolls1$prob2<-rep(c(1/8,1/8,1/8,1/8,1/8,3/8),each=6)
#添加总概率
rolls1$prob<-rolls1$prob1*rolls1$prob2
#添加value值
rolls1$value<-rolls1$Var1+rolls1$Var2
#计算期望值
E_ROLLS1<-sum(rolls1$prob*rolls1$value)
E_ROLLS1

构建查找表和上面一样结果

#构建查找表
prob<-c(""=1/8,""=1/8,""=1/8,
""=1/8,""=1/8,""=3/8)
prob[1]
# 一次看多个值
prob[c(1,2,3,4,5,6)]
unname(prob[c(1,2,3,4,5,1,2,3,4,5,6)])
#添加var1的概率
rolls1$prob1<-prob[rolls1$Var1]
#添加var2的概率
rolls1$prob2<-prob[rolls1$Var2]

计算tiger机的期望值

7*7*7
wheel<-c("DD","","BBB","BB","B","C","")
combos<-expand.grid(wheel,wheel,wheel,
stringsAsFactors = F)
str(combos)
#构建查找表
prob <- c("DD"=0.03,""=0.03,"BBB"=0.06,
"BB"=0.1,"B"=0.25,"C"=0.01,""=0.52)
prob["DD"]
prob["C"]
#添加var1的概率 # prob[combos$Var1] 每个值对应的概率
combos$prob1<-unname(prob[combos$Var1])
#添加var2的概率
combos$prob2<-unname(prob[combos$Var2])
#添加var3的概率
combos$prob3<-unname(prob[combos$Var3])
#添加总概率
combos$prob<-combos$prob1*combos$prob2*combos$prob3
head(combos)
score(c("DD","DD","DD"))
#添加一列value
combos$value<-NA
combos[1,1]
combos[1,2]
combos[1,3]
c(combos[1,1],combos[1,2],combos[1,3])
score(c(combos[1,1],combos[1,2],combos[1,3]))
combos[1,"value"]<-score(c(combos[1,1],combos[1,2],combos[1,3]))
nrow(combos)
for (i in 1:343) {
combos[i,"value"]<-score(c(combos[i,1],combos[i,2],combos[i,3]))
}
head(combos)
tail(combos)
#计算期望值
E<-sum(combos$prob*combos$value)
E #验证期望值
sum(replicate(10,play()))
sum(replicate(100,play()))
sum(replicate(1000,play()))
sum(replicate(10000,play()))

R连接数据库

install.packages("RMySQL")
library(RMySQL)
#构造连接
conn<-dbConnect(MySQL(),user="root",
password="",dbname="db1")
lizi<-data.frame(id=1:5,
type=c("A","A","B","B","C"),
score=7:11,
stringsAsFactors = F)
lizi
#把表写入数据库
dbWriteTable(conn,"suibian",lizi)
#关闭数据库
dbDisconnect(conn)
library(ggplot2)
data("diamonds",package = "ggplot2")
str(diamonds)
dbWriteTable(conn,"diamonds",diamonds,row.names=F)

Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成

cbind: 根据列进行合并,即叠加所有列,m列的矩阵与n列的矩阵cbind()最后变成m+n列,合并前提:cbind(a, c)中矩阵a、c的行数必需相符

rbind: 根据行进行合并,就是行的叠加,m行的矩阵与n行的矩阵rbind()最后变成m+n行,合并前提:rbind(a, c)中矩阵a、c的列数必需相符
#定义资料集
df1 = pd.DataFrame(np.ones((3,4))*0, columns=['a','b','c','d'])
df2 = pd.DataFrame(np.ones((3,4))*1, columns=['a','b','c','d'])
df3 = pd.DataFrame(np.ones((3,4))*1, columns=['a','b','c','d'])
s1 = pd.Series([1,2,3,4], index=['a','b','c','d']) #将df2合并到df1的下面,以及重置index,并打印出结果
res = df1.append(df2, ignore_index=True)
print(res)
a b c d
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0
5 1.0 1.0 1.0 1.0
#合并多个df,将df2与df3合并至df1的下面,以及重置index,并打印出结果
res = df1.append([df2, df3], ignore_index=True)

作业:构造6个数据框,每个数据框分别有三个变量,

#追加数据:append
#作业:构造6个数据框,每个数据框分别有三个变量,
#id、type、score
#id:是0-9,10-19,20-29……
#type:"A","B","C"……
#score:长度为10的随机数
#把这6个数据框写到一张表里,表名:pro install.packages("RMySQL")
library(RMySQL)
#构造连接
conn<-dbConnect(MySQL(),user="root",
password="",dbname="db1") a1<-data.frame(id=0:9,type=LETTERS[1:10],score=rnorm(10))
a2<-data.frame(id=10:19,type=LETTERS[1:10],score=rnorm(10))
a3<-data.frame(id=20:29,type=LETTERS[1:10],score=rnorm(10))
a4<-data.frame(id=30:39,type=LETTERS[1:10],score=rnorm(10))
a5<-data.frame(id=40:49,type=LETTERS[1:10],score=rnorm(10))
a6<-data.frame(id=50:59,type=LETTERS[1:10],score=rnorm(10))
s<-rbind(a1,a2,a3,a4,a5,a6) #把表写入数据库
dbWriteTable(conn,"pro",s)
#关闭数据库
dbDisconnect(conn)

-----------

1122

#生成随机数
rnorm(10) #查看数据库中有没有一张特定的表
dbExistsTable(conn,"diamonds") #列出当前的数据库中有哪些表
dbListTables(conn) #列出表中的字段
dbListFields(conn,"diamonds") #读取表的数据
db_df<-dbReadTable(conn,"course")
db_df

提取数据到R里

#提取数据到R里
dbGetQuery() #查看数据集的摘要统计量
summary(diamonds) #1.查询cut切工的类别
dbGetQuery(conn,"select distinct cut from diamonds") #2.查询克拉、价格、大小(size),size用x*y*z来表示
db_diamonds<-dbGetQuery(conn,"select carat,price,x*y*z as size from diamonds")
head(db_diamonds) #3.查询克拉、切工、颜色、价格,切工是Good,颜色是E
good_e_diamonds<-dbGetQuery(conn,"select carat,cut,color,price from diamonds where cut='Good' and color='E'")
head(good_e_diamonds)

111

R期望的更多相关文章

  1. Maximum Random Walk(概率dp)

    题意: 走n步,给出每步向左走概率l,向右走概率r,留在原地的概率 1-l-r,求能达到的最远右边距离的期望. 分析: 开始按期望逆求的方式分析,但让求的就是右边界没法退,懵了一会,既然逆着不能求,就 ...

  2. Scyther-Semantics and verification of Security Protocol

    1 .本书前一节主要是介作者自己的生平经历(读完感觉作者是个神童),目标明确作者13岁代码已经写的很溜了.自己也开了网络公司,但是后面又专注于自己的计算机基础理论,修了哲学的博士学位(不得不说很多专业 ...

  3. CF963E Circles of Waiting

    Circles of Waiting 求一个整点四连通随机游⾛,离原点距离超过R期望步数.R≤50. 带状矩阵法 本质上就是网格图的随机游走. \[ E_x=\sum_y P_{x,y}E_y+1 \ ...

  4. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  5. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  6. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  7. 神经网络模型及R代码实现

    神经网络基本原理 一.神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias ).则神 ...

  8. 用R语言的quantreg包进行分位数回归

    什么是分位数回归 分位数回归(Quantile Regression)是计量经济学的研究前沿方向之一,它利用解释变量的多个分位数(例如四分位.十分位.百分位等)来得到被解释变量的条件分布的相应的分位数 ...

  9. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

随机推荐

  1. node+express 配置安装以及数据解析,cookie,session

    一.express安装,创建服务 (1)安装:npm install express --save(2)创建服务 server.js: const express = require('express ...

  2. 201871010119-帖佼佼《面向对象程序设计(java)》第八周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  3. NodeJS4-6静态资源服务器实战_range范围请求

    range范围请求:向服务器发起请求可以申明我想请求判断内容的范围,从多少个字节到多少个字节,一次要求把所有的内容拿回来,服务器在得到相应的请求之后,从拿到对应的文件,拿到对应的字节返回给客户端.要实 ...

  4. GitHub 上的 12306 抢票神器,助力回家过年

    又到周末了,不过本周末有些略微的特殊. 距离每年一次的全球最大规模的人类大迁徙活动已经只剩下一个多月了,各位在外工作一年的小伙伴大多数人又要和小编一样摩拳擦掌的对待史上最难抢的抢票活动. 然鹅,身为一 ...

  5. linux之文件的属性

    1.我们使用ls -al查看目录下的文件 2.先看第一个权限 -rw-r--r-- 1 hui hui 3806 Oct 3 17:48 .bashrc 对于.bashrc,其权限是-rw-r--r- ...

  6. python 正则表达式re使用模块(match()、search()和compile())

    摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(patt ...

  7. EFCore的外键级联删除导致的【可能会导致循环或多重级联路径】

    之前也是经常遇到这个问题,但好在每次创建的实体不多,很容易就能找到是哪个外键导致级联循环删除问题 之前都是这么处理,因为创建的实体也不多,所以还处理得来 但最近跟别人合作写后端,别人写了好多实体,我一 ...

  8. 渗透测试初学者的靶场实战 3--墨者学院SQL注入—宽字节盲注

    墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...

  9. SQL SERVER查询数据库所有表的大小,按照记录数降序排列

    SELECT B.NAME,A.ROW_COUNT FROM SYS.DM_DB_PARTITION_STATS A,SYS.OBJECTS BWHERE A.OBJECT_ID=B.OBJECT_I ...

  10. Python—解析HTML页面(HTMLParser)

    HTMLParser类的定义及常用方法 类的定义 HTMLParser主要是用来解析HTML文件(包括HTML中无效的标记). 参数convert_charrefs表示是否将所有的字符引用自动转化为U ...