添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
稳重的八宝粥  ·  01 ...·  3 月前    · 
刚分手的甘蔗  ·  MS Excel VBA - ...·  11 月前    · 
  • 44.2.1 cppFunction() 转换简单的C++函数—Fibnacci例子
  • 44.2.2 sourceCpp() 转换C++程序—正负交替迭代例子
  • 44.2.3 sourceCpp() 转换C++源文件中的程序—正负交替迭代例子
  • 44.2.4 sourceCpp() 转换C++源程序文件—卷积例子
  • 44.2.5 在Rmd文件中使用C++源程序文件
  • 45 R与C++的类型转换
  • 45.1 wrap() 把C++变量返回到R中
  • 45.2 as() 函数把R变量转换为C++类型
  • 45.3 as() wrap() 的隐含调用
  • 46 Rcpp 属性
  • 46.1 Rcpp属性介绍
  • 46.2 在C++源程序中指定要导出的C++函数
  • 46.3 在R中编译链接C++代码
  • 46.4 Rcpp属性的其它功能
  • 46.4.1 自变量有缺省值的函数
  • 46.4.2 允许用户中断
  • 46.4.3 把R代码写在C++源文件中
  • 46.4.4 在C++中调用R的随机数发生器
  • 47 Rcpp提供的C++数据类型
  • 47.1 RObject类
  • 47.2 IntegerVector类
  • 47.2.1 IntegerVector示例1:返回完全数
  • 47.2.2 IntegerVector示例2:输入整数向量
  • 47.3 NumericVector类
  • 47.3.1 示例1:计算元素 \(p\) 次方的和
  • 47.3.2 示例2: clone 函数
  • 47.3.3 示例3:向量子集
  • 47.4 NumericMatrix类
  • 47.4.1 示例1:计算矩阵各列模的最大值
  • 47.4.2 示例2:把输入矩阵制作副本计算元素平方根
  • 47.4.3 示例3:访问列子集
  • 47.5 Rcpp的其它向量类
  • 47.5.1 Rcpp的LogicalVector类
  • 47.5.2 Rcpp的CharacterVector类型
  • 47.6 Rcpp提供的其它数据类型
  • 47.6.1 Named类型
  • 47.6.2 List类型
  • 47.6.3 Rcpp的DataFrame类
  • 47.6.4 Rcpp的Function类
  • 47.6.5 Rcpp的Environment类
  • 48 Rcpp糖
  • 48.1 简单示例
  • 48.2 向量化的运算符
  • 48.2.1 向量化的四则运算
  • 48.2.2 向量化的二元逻辑运算
  • 48.2.3 向量化的一元运算符
  • 48.3 用Rcpp访问数学函数
  • 48.4 返回单一逻辑值的函数
  • 48.5 返回糖表达式的函数
  • 48.6 R与Rcpp不同语法示例
  • 49 用Rcpp帮助制作R扩展包
  • 49.1 不用扩展包共享C++代码的方法
  • 49.2 生成扩展包
  • 49.2.1 利用已有基于Rcpp属性的源程序制作扩展包
  • 49.2.2 DESCRIPTION文件
  • 49.2.3 NAMESPACE文件
  • 49.3 重新编译
  • 49.4 建立C++用的接口界面
  • 50 R编程例子
  • 50.1 R语言
  • 50.1.1 用向量作逆变换
  • 50.1.2 斐波那契数列计算
  • 50.1.3 穷举所有排列
  • 50.1.4 可重复分组方式穷举
  • 50.1.5 升降连计数
  • 50.1.6 高斯八皇后问题
  • 50.2 概率
  • 50.2.1 智者千虑必有一失
  • 50.2.2 圆桌夫妇座位问题
  • 50.3 科学计算
  • 50.3.1 城市间最短路径
  • 50.3.2 Daubechies小波函数计算
  • 50.3.3 房间加热温度变化
  • 50.4 统计计算
  • 50.4.1 线性回归实例
  • 50.4.2 核回归与核密度估计
  • 50.4.3 二维随机模拟积分
  • 50.4.4 潜周期估计
  • 50.4.5 ARMA(1,1)模型估计
  • 50.4.6 VAR模型平稳性
  • 50.4.7 贮存可靠性评估
  • 50.5 数据处理
  • 50.5.1 小题分题型分数汇总
  • 50.5.2 类别编号重排
  • 50.6 文本处理
  • 50.6.1 用R语言下载处理《红楼梦》htm文件
  • 51 使用经验
  • 51.1 文件管理
  • 51.1.1 文件备份
  • 51.1.2 工作空间
  • 51.2 程序格式
  • A R Markdown文件格式
  • A.1 R Markdown文件
  • A.2 R Markdown文件的编译
  • A.2.1 编译的实际过程
  • A.3 在R Markdown文件中插入R代码
  • A.4 [1] -0.63 0.18 -0.84 1.60 0.33 -0.82 0.49 0.74 0.58 -0.31
  • A.5 输出表格
  • A.6 Estimate Std. Error t value Pr(>|t|)
  • A.7 (Intercept) -22 5.5497748 -3.964125 4.152962e-03
  • A.8 x 11 0.8944272 12.298374 1.777539e-06
  • A.9 利用R程序插图
  • A.10 冗余输出控制
  • A.11 代码段选项
  • A.11.1 代码和文本输出结果格式
  • A.12 [1] 3413
  • A.13 [1] 1 2 3 4 5
  • A.14 [1] 1
  • A.15 [1] 5
  • A.16 [1] 32
  • A.17 [1] 288
  • A.18 [1] 3413
  • A.19 [1] 1
  • A.20 [1] 6.123032e-17
  • A.21 [1] 1
  • A.22 [1] 6.123032e-17
  • A.23 [1] 1
  • A.24 [1] 6.123032e-17
  • A.25 [1] 123456789001 123456789002 123456789003 123456789004 123456789005
  • A.26 [6] 123456789006 123456789007 123456789008 123456789009 123456789010
  • A.27 [11] 123456789011 123456789012 123456789013 123456789014 123456789015
  • A.28 [16] 123456789016 123456789017 123456789018 123456789019 123456789020
  • A.28.1 图形选项
  • A.28.2 缓存(cache)选项
  • A.29 章节目录链接问题
  • A.29.1 第三章第一节标题
  • A.30 其它编程语言引擎
  • A.31 交互内容
  • A.32 属性设置
  • A.32.1 YAML元数据
  • A.32.2 输出格式
  • A.32.3 输出格式设置
  • A.32.4 目录设置
  • A.32.5 章节自动编号
  • A.32.6 Word输出章节自动编号及模板功能
  • A.32.7 HTML特有输出格式设置
  • A.32.8 关于数学公式支持的设置
  • A.32.9 输出设置文件
  • A.33 LaTeX和PDF输出
  • A.33.1 TinyTex的安装使用
  • A.34 tlmgr.pl: package repository
  • A.35 http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (verified)
  • A.36 doublestroke:
  • A.37 texmf-dist/tex/latex/doublestroke/dsfont.stytlmgr search –file –global “dsfont.sty”
  • A.38 tlmgr install doublestroke
  • A.39 tlmgr.pl: package repository
  • A.40 http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (verified)
  • A.41 [1/1, ??:??/??:??] install: doublestroke [66k]
  • A.42 running mktexlsr …
  • A.43 done running mktexlsr.
  • A.44 running updmap-sys …
  • A.45 done running updmap-sys.
  • A.46 tlmgr.pl: package log updated:
  • A.47 C:/Users/user/AppData/Roaming/TinyTeX/texmf-var/web2c/tlmgr.log
  • A.47.1 Rmd中Latex设置
  • A.48 生成期刊文章
  • A.49 附录:经验与问题
  • A.49.1 Word模板制作
  • A.49.2 数学公式设置补充
  • B 用bookdown制作图书
  • B.1 介绍
  • B.2 一本书的设置
  • B.3 章节结构
  • B.4 书的编译
  • B.5 交叉引用
  • B.6 数学公式和公式编号
  • B.7 定理类编号
  • B.8 文献引用
  • B.9 插图
  • B.10 表格
  • B.10.1 Markdown表格
  • B.10.2 kable() 函数制作表格
  • B.10.3 R中其它制作表格的包
  • B.11 数学公式的设置
  • B.12 使用经验
  • B.12.1 学位论文
  • B.12.2 LaTeX
  • B.12.3 算法
  • B.12.4 中文乱码
  • B.12.5 图片格式
  • B.12.6 其它经验
  • B.13 bookdown的一些使用问题
  • C 用R Markdown制作简易网站
  • C.1 介绍
  • C.2 简易网站制作
  • C.2.1 网站结构
  • C.2.2 编译
  • C.2.3 内容文件
  • C.2.4 网站设置
  • C.3 用blogdown制作网站
  • C.3.1 生成新网站的框架
  • C.3.2 网页内容文件及其设置
  • C.3.3 初学者的工作流程
  • C.3.4 网站设置文件
  • C.3.5 静态文件
  • D 制作幻灯片
  • D.1 介绍
  • D.2 Slidy幻灯片
  • D.2.1 文件格式
  • D.2.2 幻灯片编译
  • D.2.3 播放控制
  • D.2.4 生成单页HTML
  • D.2.5 数学公式处理与输出设置文件
  • D.2.6 其它选项
  • D.2.7 slidy幻灯片激光笔失效问题的修改
  • D.3 MS PowerPoint幻灯片
  • D.4 Bearmer幻灯片格式
  • D.5 R Presentation格式
  • References
  • 编著:李东风
  • 统计分析中最常见的原始数据形式是类似于数据库表或Excel数据表的形式。 这样形式的数据在R中叫做数据框(data.frame)。 数据框类似于一个矩阵,有 \(n\) 个横行、 \(p\) 个纵列, 但各列允许有不同类型:数值型向量、因子、字符型向量、日期时间向量。 同一列的数据类型相同。 在R中数据框是一个特殊的列表, 其每个列表元素都是一个长度相同的向量。 事实上,数据框还允许一个元素是一个矩阵, 但这样会使得某些读入数据框的函数发生错误。

    函数 data.frame() 可以生成数据框,如

    13.2

    13.1.2 数据框显示

    在R markdown文件中, 可以将数据框保存的表格显示为富文本格式, 方法是使用 knitr::kable() 函数。 详见 A.5

    程序示例如:

    23 中所述的借助于tidyverse库的做法。

    13.1.4 数据框的行名

    数据框每一行可以有行名, 这在原始的S语言和传统的R语言中是重要的技术, 但是在改进类型tibble中则取消了行名, 需要用行名实现的功能一般改用 left_join() 函数实现。 建议新的R程序不要再利用数据框的行名功能。

    比如,每一行定义行名为身份证号,则可以唯一识别各行。 下面的例子以姓名作为行名:

    23.23

    13.1.5 数据框与矩阵的区别

    数据框不能作为矩阵参加矩阵运算。 需要时,可以用as.matrix()函数转换数据框或数据框的子集为矩阵。

    13.2.1 生成方法

    tibble类型是一种改进的数据框。 readr包的read_csv()函数是read.csv()函数的一个改进版本, 它将CSV文件读入为tibble类型,如文件class.csv的读入:

    23

    可以用tibble()函数生成小的tibble,如

    另外,用d[,ind]这样的单重的方括号取列子集时, 即使仅取一列, 从tibble取出的一列结果仍是tibble而不是向量, 为了提取一列为向量应使用双方括号格式或$格式。 因为这个原因有些原来的程序输入tibble会出错, 这时可以用as.data.frame()转换成数据框。

    tibble默认不使用行名(rownames)。 有行名的数据框用as_tibble()转换为tibble时, 可以用rownames="变量名"选项将行名转换成tibble的一列, 该列的变量名由选项值确定。

    原来用行名完成的功能, 可以改用dplyr包的left_join()等函数, 这些函数进行数据框的横向连接。 详见23

    实际上,旧式数据框支持行名,有如下的缺点:

  • 行名本身往往也是有效的数据,如身份证号, 将有效数据以数据框中的列和行名两种不同形式保存, 增加了复杂度;
  • 为了使用某些变量辨识不同的行(观测), 行名也具有局限性: 行名必须是相互不同的, 必须是字符型, 而用来区分各个观测的变量有可能有多个, 也可能不是字符型。
  • 行名要求互不相同是有局限性的, 如果用来辨识各行的变量有重复值, 就可以构成对各行的一种自然的分组。
  • 13.2.4 bibble和数据框的转换

    因为有一些老的R函数仅支持data.frame, 所以有时需要将tibble转换为数据框。 设dt为tibble, 如果不需要添加行名, 则as.data.frame(dt)就可以转换为data.frame。

    如果需要添加行名, 设dt中第一列要转换为行名, 转化的模板为

    tibble类型允许其中的列是列表类型, 该列的每个元素就可以是复杂类型, 比如建模结果(列表), 元素之间可以保存不等长的值。

    假设class.csv已经读入为R数据框d.class, 其中的sex列已经自动转换为因子。

  • 显示d.class中年龄至少为15的行子集;

  • 显示女生且年龄至少为15的学生姓名和年龄;

  • 取出数据框中的age变量赋给变量x。

  •