Question:

1.R语言与C语言语法上有什么不同,有什么相同?

所有R代码都用于操作对象,和C++一样是面向对象的语言,C是面向过程的语言,R中有每一种数据结构相当于C++中的类,每个数据相当于一个对象;

有数值向量形式的对象:c(1,2,3,4,5)

有字符型对象:“This is the world”

有各种元素形成的列表样式的对象:list(c(1,2,3),"This is the world")

数值本身也是一个对象:1  2 3

函数也是一个对象:f = function(x,y){x*y};

f(2,3)

输出:6

R语言中赋值除了=可以赋值外还可以

例如x

R语言中的函数也是作用于形参,而非实参,和C语言相似

一定区间的向量可以简写为1:n,表示从1到n的闭区间的整数所形成的向量

向量和C语言中的数组很像也和vector很像,但是起始是从1开始而不是从0开始。

R语言中也有强制类型转换,自动匹配所需要的数据类型,会将特殊类型转变为一般的类型

有高一级转向低一级:logical < integer

如果想知道x的数据类型,输入 typeof(x) 和C语言中typedef很像,只是typedef相当于给数据类型取一个别名

2.R语言中函数如何定义?

对于R语言中的每一个对象,都有对应的函数对该对象进行操作,这一点类似于C;

而不是C++,因为C++把函数也封装到了类里,而R并没有;

例如length(v)得到v的长度,并且这个长度还可以被用户所改动,更有利于修改分析数据

quote(f) f为用户输入的表达式,返回一个language对象

as(l,“list”) 将language对象转变为一个list

整数 n:n 序列得到;如果直接n则得到的是一个默认的双精度浮点数

或者用as 强制类型转化为“integer”

as(1, "integer")

2^1024 = Inf大小有限制,并且精度上也有限制,例如(2^1023+1) == 2^1023 得到是TRUE 一个浮点数长度为1024bit吗 而C语言中浮点数长度为8bit*4,(4个字节),

而双精度较高8bit*8 (8个字节),所以C语言中表示的数范围小很多,R语言中的数有将近128byte (128个字节),处理大数据很方便,但是大数据会损失一定的精度

R中取模 用%% 而不是%,得到余数

整除用%/%,得到商

相当于自带math.h

max(),min(),sqrt()常用的都有。

自己定义函数可以用

f = function(x1,x2,...){

if() ...

else if() ...

else if()  ...

else ...

}

同样也有switch操作符

switch(x, a = ..., b = ...., c= ..., ...) 最后一个相当于default;a,b,c 相当于if(x ==‘a’) switch操作只限于字符串,

和C中很像switch(ch) case '1':...

利用函数可以写一个递归求factorial的函数 gamma(N) = factorial(N)

f = function(n){

if(n==1) 1

else f(n-1)*n

}

R语言中没有++ += 这类符号,只能老实写i=i+1

3.R中的数据结构有哪些?

R中存在一些特殊值的符号:

NA: 表示缺失值,相当于C中的NULL;

NAN: 计算机产生的一个无意义的结果;not a number 例如Inf-Inf;

Inf 表示无穷大;1/0 = Inf , 1/(-0) = -Inf

NULL:在R语言中表示的是一个null对象,常用在函数的参数中,表示该参数没有被赋值

二维数组:(矩阵)matrix

matrix(data = c(),nrow = ,ncol = ) 按列排nrow*ncol不能超过data的容量

m[1:2,]表示一二两行

m[m,n]表示m,n处的值

更高维数组:

array(data = ,dim = c(x,y,z))表示三维长宽高分别为x,y,z 从底层向上排,每一层按列排

4.R中的循环,随机数,遍历,如何实现?

循环的实现:

和C类似 只是将continue改为了next

i = 1

while(i<10){print(i);i=i+1} #while 循环 #作注释

for循环:

和C不同,自动遍历一个list或者序列seq(from, to ,by步长)

for( i in seq(5,25,3)) print(i) #from to 所形成的的为闭区间,包括端点

repeat循环:

需要if() break才能退出循环;

5.R中如何导入excel数据?

其他:

R中虚数表示为a+bi,中间无乘号 i 应该写成1i;

x的n次方表示为:x^n; ^在C语言中是抑或符号

R语言和python一样属于交互型的语言,输入一个表达式,系统响应对应的输出;

交互 约等于 解释;解释用户输入的对象和对象的操作,并输出;用户输入的是表达式

R语言 第五章和第六章 语言概述+语法部分完

r语言中的或怎么表示什么不同_R语言学习笔记(一)相关推荐

  1. r语言中的或怎么表示什么不同_R语言中灵活运用if实现根据不同条件执行不同的语句...

    原标题:R语言中灵活运用if实现根据不同条件执行不同的语句 在程序语言中,if一般属于一种分支结构,即根据某个条件执行相关的语句,在R中也不例外.同时,if语句与else配合可以运用到多种条件递归判断 ...

  2. r语言中残差与回归值的残差图_R语言基础-数据分析及常见数据分析方法

    R表达式中常用的符号 残差(Residuals) 残差是真实值与预测值之间的差,五个分位的值越小模型越精确 系数项与截距项(Coefficients & Intercept)和P值指标 残差标 ...

  3. r语言中的或怎么表示什么不同_R语言中$是什么意思

    展开全部 $是S3类的引用方32313133353236313431303231363533e58685e5aeb931333431353430式,@是S4类的引用方式.$比较常用,@比较少用.通常我 ...

  4. r语言中残差与回归值的残差图_R语言逻辑回归、方差分析、伪R平方分析

    原标题:R语言逻辑回归.方差分析.伪R平方分析 原文链接:http://tecdat.cn/?p=9589 目录 怎么做测试 假设条件 并非所有比例或计数都适用于逻辑回归分析 过度分散 伪R平方 测试 ...

  5. r语言中残差与回归值的残差图_R语言-如何处理回归中的异常值点

    R语言-如何处理回归中的异常值点 异常观测值 一个全面的回归分析要覆盖对异常值的分析,包括离群点.高杠杆值点和强影响点.这些数据点需要更深入的研究,因为它们在一定程度上与其他观测点不同,可能对结果产生 ...

  6. r语言中残差与回归值的残差图_R语言:多元线性回归和模型检验

    利用swiss数据集进行多元线性回归研究 # 先查看各变量间的散点图 pairs(swiss, panel = panel.smooth, main = "swiss data", ...

  7. c语言中按位或赋值给变量,[转载]C语言位运算符在单片机上的应用

    C语言位运算符 学过汇编的朋友都知道汇编对位的处理能力是很强的,但是C语言也能对运算对象进行按位操作,从而使C语言也能具有一定的对 硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不 ...

  8. c语言中不能编译,为什么`int;`可以在C语言中很好地编译,而在C ++中却不能?

    考虑以下程序(请参见此处的现场演示). #include int main(void) { int ;  // Missing variable name puts("Surprise&qu ...

  9. c语言中函数名可不可以由用户命名,C语言中变量名及函数名的命名规则与驼峰命名法...

    在程序设计中,变量名.函数名.数组名等统称为标识 符.简单地说,标识符就是一个名字.除库函数的函数名由系统定义外,其余都由用户自定义.C语言规定,标识符只能由字母(a-z,A-Z).数字 (0-9). ...

  10. c语言imagesize怎么用里面的参数如何填写,【学习笔记】【C语言】sizeof

    1.用来计算一个变量或者一个常量.一种数据类型所占的内存字节数. 2.sizeof一共有3种形式 1>sizeof( 变量\常量 ) sizeof(10); char c = 'a'; size ...

最新文章

  1. MVC3中的tempdata,viewdata,viewbag总结
  2. JSON的C语言编解码器——cJSON和json-c
  3. App设计灵感之十二组精美的家具产品电商App设计案例
  4. java 画砖块,钢笔画入门:教你画砖块
  5. Taro+react开发(8)--控制跳转
  6. SLS机器学习介绍(02):时序聚类建模
  7. 单元格宽度_excel单元格如何设成正方形或者1mm的正方形
  8. 报表热切换是什么意思?如何做到?
  9. 人脸识别一体机解决方案
  10. 在我笔记本Ubuntu上装普罗米修斯记录
  11. 大学计算机基础第一章知识点归纳,《大学计算机基础》主要知识点
  12. Yuga Labs大举扩张,“猿”宇宙已经不远了?
  13. JAVA教程--书的
  14. python2.7安装pytorch_Pytorch如何安装,Linux安装Pytorch,OSX安装Pytorch教程
  15. 目标函数和损失函数的区别
  16. hg110路由器那位大神给编译一个挂3070网卡固件
  17. NGS各种组学建库原理(图解)
  18. 滤波总结+应用举例1(kalman滤波、序贯滤波、UD分解滤波、遗忘滤波、信息滤波、自适应滤波)(内含matlab代码)
  19. 一篇差点让老婆离开我的文章
  20. PHP实现微信映美打印机,映美在2015--做一台有爱的打印机

热门文章

  1. java workflow 教程_Java工作流引擎jflow对流程的结束大总结
  2. 梅特勒托利多xk3124电子秤说明书_梅特勒托利多称重仪表XK3124 B520
  3. ArcGis 10.2运行提示“未授权”的解决方法
  4. Android开发:vivo企业开发者账号注册
  5. STM32 MDK(Keil5) Contents mismatch错误总结
  6. php file_put_contents 保存不了,php file_put_contents不能写入问题
  7. c++获取umg ue_UE4-UMG与c++交互
  8. Canvas 图片加载
  9. php 正则 英文开头,php 正则表达式 匹配以“XXX”开头不能以“YYY”结尾
  10. 5990.8亿,一个如约而来的重大项目