1. rbind(), cbind():  构造、合并vector 或matrix为一个矩阵:cbind(1, 1:10) ----默认列合并, rbind(1, 1:10) ----行合并(or构造)

2. R语言中关于矩阵,向量的一些运算

① 矩阵相乘使用“%*%”,而不是"*", 矩阵与向量,向量与向量相乘最好也是如此;

② 创建一个n*1维的向量,并添加到矩阵中,使用 x0 <- matrix(0, nrow=n, ncol=1), x <- cbind(x0, x); 使用matrix和cbind函数;

③ nrow, ncol函数的参数不能是向量,可以是矩阵、数组、数据框,如y <- c(1,2,3), n <- nrow(y),这样得到的n是NULL,而不是理想的3. 可使用n <- length(y)来求;dim(y)[1]也不可以;

④ 矩阵or向量的转置函数:t(v),其中v可以是向量or矩阵;

⑤ 提示“错误于..., 非整合陈列/参数”, 说明矩阵相乘行列不匹配,可能是运算符用错;

⑥当list,data.frame等类型中元素是数据类型时,看通过as.matrix(x)来做转化成矩阵形式,此时要注意:x[i, ]某一个行的值,是向量形式,即is.vector(x[i, ]) --- TRUE; is.matrix(x[i, ]) --- FALSE; 那么给参数赋值时,要注意,不要使用t(), 如 w <- w + y[i] * t(x[i, ]) (错误), 应改写为 w <- w + y[i] * x[i, ]

3. RTools(R语言编译工具)安装与配置

① 根据R语言版本下载对应的RTools版本,RTools下载地址:http://cran.r-project.org/bin/windows/Rtools/

② 配置环境设置:本人的RTools安装在D:\InstalledProgramingSoftware\Rtools中,这里需要把RTools的bin目录和gcc-4.6.3对应的bin目录设置环境变量。右键-》我的电脑-》高级-》环境变量-》系统变量下面的Path双击-》在值的后面打个分号,D:\InstalledProgramingSoftware\Rtools\bin; D:\InstalledProgramingSoftware\Rtools\gcc-4.6.3\bin(注意:一定要保证在PATH中顺序在D:\cygwin\bin前面)

4. RMySQL 64win7安装过程

① 下载安装与R对应版本的RTools,安装并配置(具体见2);

② 在R的安装目录\R-2.5.3\etc\目录下,创建 Renviron.site文件,并在里面添加MYSQL_HOME=Mysql

的安装路径(我的是:MYSQL_HOME=D:/InstalledProgramingSoftware/MySQL/MySQL Server 5.5, 注意改成反斜杠);

③ 将MySQL安装目录/lib下的libmysql.lib文件拷贝到 mysql/lib/opt 文件夹下,没有opt的,建一个文件夹,同时也将libmysql.dll文件copy到R-2.15.3/bin下面

④ 在R中执行:install.packages("RMySQL", type="source"),最终看到DONE的提示,说明安装成功,可使用Sys.getenv(MYSQL_HOME)验证路径是否正确,使用library(RMySQL)验证是否安装成功。

本人机器(64 win7)上安装后,提示没有安装成功,看了下过程是编译error,经过查找之后,发现之前安装过cygwin,并即将其路径配置到系统变量PATH中,虽然安装RTools时,也将gcc-4.6.3/bin配置到PATH路径上了,但是是放在cygwin后面的,机器总是按照顺序在路径上找,所以首先找到了cygwin,用它来编译源文件包,所以出错了,Solution:将gcc-4.6.3/bin 放置在cygwin前面,这样在执行④,就OK了~

5. R语言 函数问题

① R函数的返回值可以是任何对象,或复杂的对象。IF函数有多个返回值,可以把它存储在一个列表或其它容器变量中,返回。 例如,线性回归学习算法(梯度下降)要返回损失函数J和参数theta, mylist <- list(J, theta), return(mylist); 其中mylist[[1]] ----> J;

② 函数都是对象,因此

(1). 函数可以作为其他函数的参数,例如 

f1 <- function(x) return(a+b); 

f2 <- function(x) return(a-b); 

g <- function(h, a, b);  

g(f1, 3, 2) g=5; 

g(f2,3,2) g=1; 

(2). 因为函数是对象,所有可以在函数所组成的列表上做循环,比如在一幅图上绘制若干个函数的图形,举例:

g1 <- function(x) return(sin(x))

g2 <- function(x) return(sqrt(x^2 + 1))

g3 <- function(x) return(2*x - 1)

plot(c(0,1), c(-1, 1.5))

for (f in c(g1, g2, g3)) plot(f, 0, 1, add=T)

③ 通过赋值来改变函数的主体, 举例:

g <- function(h,a,b) h(a,b)

body(g) <- quote(2*x + 3)

④⑤

6. R语言编程:逻辑元素问题

(1). R中,如果提示"错误于if(...) {: 需要TRUE/FALSE的地方不可以用缺少值", 

解释错误:if(condition),其中condition处只能是TRUE/FALSE,不能是其它值,由于参与逻辑运算符的变量,存在缺失值NA,导致了condition出现了NA,才会提示错误;

出现错误的可能:① 参与计算的数据存在缺失值;② 参与运算的向量/矩阵/数组, 下标出界;

解决方案:详细检查数据是否存在缺失值,进行弥补,可能是由于导数导入的问题;插入必要的print语句,检查下标出界问题;

(2) 当理所当然的认为 矩阵 %*% 矩阵相乘时,可能会提示以下错误:错误于x %*% ww : 需要数值/复数矩阵/矢量参数. 这是因为运算数的数据类型可能不是矩阵(徒有其表),可能是list,dataframe等形式,此时需要做类型转换(当运算数的每个元素数据类型相同时),如 x <- as.matrix(x),当然也有可能是行列出了问题;

7. 随机抽样函数

(1). R中,将数据集中record/example的原本顺序打乱,如何实现?sample()

在数据处理or验证数据中record顺序对算法的影响时,需要将使用随机数生成函数,将原本数据打乱,R中可使用example()函数:

x <- 1:10

sample(x) --- > 8 3 2 6 9 10 4 5 1 7 (生成x内的数的乱序)

sample(c(0,1), 100, replace=TRUE) ---> 生成100个0和1的数(伯努利抽样)

sample(x, size, replace = FALSE, prob = NULL)   # x为含1个or多个元素的容器,size表示从x中随机抽取数,replace表示是否放回(可重复)

sample.int(n, size =n, replace = FALSE, prob = NULL);  n表示可以抽取的是1:n中的数,size表示抽取的个数,replace表示是否放回;

详细请 ?sample

(2). 当然runif(), rnorm()可以用作浮点数/正态分布数据的随机生成,当然还有好多满足某种概率分布生成数的函数....

8. 排列组合

(1). pregmisc包,permutations(n= , r = ) # 排列函数,列出A(n,r)中所有排列; combinations(n= , r= ) #组合函数,列出C(n,r)中所有组合;

(2). choose(n,r) # 计算组合数,如choose(6,3) ---> 20; factorial(n) # 计算阶乘,n! = n*(n-1)*....*1; 二者组合可计算排列数C(n,r) = n! / r! ;

(3). 




R技术、函数知识点总结相关推荐

  1. 华清远见-重庆中心-框架阶段技术总结/知识点梳理

    文章目录 华清远见-重庆中心-框架阶段技术总结/知识点梳理/个人总结 框架 Java主流框架 Spring 概念 组成 名词解释 IOC DI Spring控制台应用 1.创建一个普通的Maven项目 ...

  2. c++ n次方函数_高一数学必修一函数知识点总结

    函数知识点总结篇一1. 函数的奇偶性 (1)若f(x)是偶函数,那么f(x)=f(-x) ; (2)若f(x)是奇函数,0在其定义域内,则 f(0)=0(可用于求参数); (3)判断函数奇偶性可用定义 ...

  3. # 技术栈知识点巩固——Js

    技术栈知识点巩固--Js Js 特点 弱类型语言:变量没有固定的数据类型.var a=0;a="hellow world!" 解释性语言:不同与c.java等语言需要先编译,有浏览 ...

  4. 营养学基础知识计算机,计算机软件技术基础知识点储备(32页)-原创力文档

    计算机软件技术基础知识点储 备. 第一章:概述 1.程序=算法+数据结构 2.算法的几个基本特征:能行性 确定性 有穷性 拥有足够的情报 3.算法的复杂度主要包括: 时间复杂度和空间复杂度 第二章:数 ...

  5. R语言函数:length计算长度、seq生成数据序列、rep将数据对象重复N遍复制、cut将连续变量分割为多水平的因子变量、pretty将连续变量x分成n个区间创建合适的断点、cat数据对象拼接

    R语言函数:length函数计算数据对象的长度.seq函数生成数据序列(sequenceÿ

  6. R语言使用R原生函数plot和lines可视化线图、并使用lty参数自定义线条类型、lwd自定义设置线条的粗细、col参数自定义线条颜色(Change R base plot line types)

    R语言使用R原生函数plot和lines可视化线图.并使用lty参数自定义线条类型.lwd自定义设置线条的粗细.col参数自定义线条颜色(Change R base plot line types) ...

  7. R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效用值 ...

  8. R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法 目录

  9. R循环函数(for、while、break、next)

    R循环函数(for.while.break.next) 目录 R循环函数(for.while.break.next) R程序设计中的FOR循环 R编程中的WHILE循环

最新文章

  1. python 管道 非阻塞_python – 非阻塞Scrapy管道到数据库
  2. 使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)
  3. LeetCode Longest Absolute File Path(栈和前缀和解法)
  4. The fall of RNN / LSTM
  5. LeetCode 299. Bulls and Cows
  6. java jpa jar_JPA 开发所需的Jar包 (基于Hibernate)
  7. 理论基础 —— 查找 —— 平衡二叉树
  8. 实测解决:Initialization failed for ‘httpsstart.spring.io‘ Please check URL, network and proxy settings
  9. 1.1.15 word调整文字与下划线之间的间距
  10. mysql bigint 转int_技术分享 | MySQL ?删库不跑路(建议收藏)
  11. 浙江理工考研c语言程序设计,浙江理工大学C程序设计期末试卷A卷
  12. Flume 的使用场景详解
  13. java2048移动算法_2048游戏通关算法
  14. 问题记录-笔记本HDMI外接2k显示器如何调2k分辨率
  15. 基于swiper使用vue-awesome-swiper 实现鼠标移入暂停自动播放、左右按钮控制前进后退、常见避坑、API中文文档地址
  16. 一文读懂上拉电阻:工作原理和阻值确定
  17. 沪漂程序媛妹子的一天...
  18. ArrayList的add方法详解——让我们好好看看一个元素是如何插入到ArrayList集合当中(源码级别)
  19. access实验报告体会_Access实验报告
  20. 欢乐家上市后连跌两日:规模增速有所放缓,产能利用率较低

热门文章

  1. 华为如何分屏_5G平板能干啥?华为MatePad Pro来了
  2. 文山壮族网的简单爬虫
  3. 面试2个月,我吐了....(软件测试岗面试经验)
  4. scratch优秀案例-中国风-西游记故事系列之孙悟空大战白骨精
  5. centos7自带mariadb学习探索
  6. Win10、CentOS 7双系统
  7. 我和《窗边的小豆豆》
  8. idea插件HttpClient插件如何使用?
  9. MySql5.6.51 免安装版下载配置
  10. 「PAT乙级真题解析」Basic Level 1031 查验身份证 (问题分析+完整步骤+伪代码描述+提交通过代码)