R语言函数化编程笔记1
R语言函数化编程笔记1
notes:有一个不错的网站叫做stack overflow,有问题可以从上面找或者搜索答案,会有大佬相助。
在github上面可以找到很多R的扩展包,如果自己额修改被接受,那么就会成为该包的贡献者。。
R的编辑器
一般会在Rstudio中编写一个脚本文件来执行多行代码,可以编写R脚本,Rmarkdown文档,网页等,或者C++源代码常用快捷键
- ctrl+enter组合键运行选中命令
- ctrl+shift+S组合键执行当前文档,也就是依次执行当前文档中的所有表达式
- Tap或者ctrl+space组合键展示匹配当前输入变量和函数的自动补齐列表
- 单击行数边缘左侧设置一个断点,就是debug,下次执行这行的时候程序会停下来检查
3. 查看帮助文档的方式
在Help帮助窗格里面输入函数名能够直接找到
在console中输入函数名并按F1键
在console中输入“?函数名”并执行它
我感觉,我R语言函数编程这里在数据处理这里老老是出bug,我感觉应该是对于每个函数的数据类型使用不当。
因为每个对象都有其不同的类型和性质
4. 数据类型
4.1 向量
4.1.1 数值向量
4.1.2 逻辑向量
4.1.3 字符向量
4.2 给向量命名
可以通过names()获取向量中函数的名字
names(x)
## "a" "b" "c"
或者通过对向量赋予不同字符向量来更改元素名称
names(x)<-c("x","y","z")
4.2.1 提取向量的元素
[] 能够创建一个向量子集
[[]] 能够提取向量中的元素
4.2.2 识别向量类型
class(变量名)。具体的函数用法可以进行查询
4.2.3 强制类型转化
as.numeric()
as.data.frame()
as.character()
......很多。
4.3 矩阵
创建矩阵的函数:matrix,具体用法可以查询
为行和列命名
rownames(矩阵名)
colnames(矩阵名)
4.3.1 提取矩阵的子集
[] 还是这个框,挺好用的
4.4 数组
记住array函数吧,比较简单
4.5 列表(list)用的比较多
因为不用类型的数据均可存放在一个列表中
可以使用$符号来提取列表中的元素
4.6 数据框
一般平时用到的面板数据可以看成一个数据框(不过这样子说不太专业奥)
persons<-data.frame(
Name=c("ken","ally","jj"),
Gender=c("Male","Female","Female"),
Age=c(24,25,23),
Major=c("finance","art","cs"))
persons
Name Gender Age Major
1 ken Male 24 finance
2 ally Female 25 art
3 jj Female 23 cs
4.6.1 提取数据框子集
同样可以用$符号,或者用[[]]来提取某一位置的
4.6.2 数据框中的实用函数
summary()展示一个汇总表,比较直观
rbind()按行合并,可以向数据框中添加一些行
rbind(persons,data.frame(Name="july",
Gender="Female",
Age=23,
Major="cs")
Name Gender Age Major
1 ken Male 24 finance
2 ally Female 25 art
3 jj Female 23 cs
4 july Female 23 csex
cbind()按列合并,可以向数据框添加一些列
expand.grid()可以生成一个包含所有列值组合的数据框(这个以后看看能不能有妙用)
> expand.grid(type=c("A","B"),class=c("M","L","XL")
+ )
type class
1 A M
2 B M
3 A L
4 B L
5 A XL
6 B XL
R语言函数化编程笔记1的更多相关文章
- R语言函数化编程笔记2
R语言函数化编程笔记2 我学过很多的编程语言,可以我写的代码很啰嗦,一定是我太懒了.或许是基础不牢地动山摇 1.为什么要学函数 函数可以简化编程语言,减少重复代码或者说面向对象的作用 2.函数 2.1 ...
- R语言函数化学习笔记6
R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...
- R语言函数化学习笔记3
R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...
- R语言函数化学习笔记4
条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...
- R语言函数话学习笔记5
使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1 ...
- R语言与机器学习学习笔记
人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...
- #r语言(二)笔记
#r语言(二)笔记 #早复习 #概述:R是用于统计分析.绘图的语言和操作环境 #对象: #数据类型--统称为对象 #向量(vector):用于存储数值型.字符型或逻辑型数据的一维数组. #定义向量: ...
- R语言与显著性检验学习笔记
R语言与显著性检验学习笔记 一.何为显著性检验 显著性检验的思想十分的简单,就是认为小概率事件不可能发生.虽然概率论中我们一直强调小概率事件必然发生,但显著性检验还是相信了小概率事件在我做的这一次检验 ...
- 【R笔记】R语言函数总结
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...
随机推荐
- JavaScript——event事件详解
1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...
- jdk升级后Eclipse无法启动问题
overview: 今日安装jdk11,设置好环境变量后,eclipse无法运行,由于项目依赖原因,不想更新eclipse的版本. 我的jdk是1.8,在将环境变量设回1.8后依然无法运行.在多次尝试 ...
- Java 中常见排序算法
经典的排序算法总结 冒泡排序算法 算法描述: 比较相邻的元素:如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针 ...
- clr via c# 程序集加载和反射集(一)
1,程序集加载---弱的程序集可以加载强签名的程序集,但是不可相反.否则引用会报错!(但是,反射是没问题的) //获取当前类的Assembly Assembly.GetEntryAssembly() ...
- 常见Linux命令学习
Linux命令学习 命令分类: 文件处理命令 权限管理命令 文件搜索命令 帮助命令 用户管理命令 压缩解压命令 网络命令 关机重启命令 1.文件处理命令 命令格式:命令 [-选项] [参数] 例:ls ...
- python第三方库的安装pip的使用与换源(解决pip下载速度慢)
python和其他语言一样,也有大量的第三方库 在安装python时默认都会安装pip,安装了pip后 在cmd.exe下可以运行pip 安装库 pip install 库的名字 换源 因为PyPi地 ...
- JS淘宝浏览商品
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 学习使用add()()()迭代调用,柯里化处理
将多个参数的函数,转换成单参数函数链 以add()()()举例 function add(){ 使用数组保存参数 let _args = Array.prototype.slice.call(argu ...
- 本地服务器热更新 插件 live-server
本地服务器热更新 插件 live-server 超级好用 强烈种草一波 无需安装到项目中 使用方法如下: 1.先全局安装live-server: npm i http-server -g 2.在需要热 ...
- javascript单词
abstract n. 摘要,抽象的东西 adj. 抽象的,理论的 vt. 移除,摘要,偷 vi. 做摘要 do aux. 助动词(无词意) v. 干,做 if conj. 如果,是否,即使 n. 条 ...