R语言笔记(一)

文章目录

  • [一、R objects](#一、R objects)
  • [二、Types of data](#二、Types of data)
  • 三、Operators
    • 1、Operators
    • [2、Comparison operators](#2、Comparison operators)
    • [3、Logical operators](#3、Logical operators)
  • [四、Check types of data objects](#四、Check types of data objects)
  • [五、Convertion between data objects](#五、Convertion between data objects)
  • [六、R workspace](#六、R workspace)

一、R objects

Two basic types of things/objects: data and functions

  • Data : things like 6, "six", 6.000 6.000 6.000, and 6 6 6 6 6 6 \left \\begin{array}{ccc} 6 \& 6 \& 6 \\\\ 6 \& 6 \& 6\\end{array}\\right 666666
  • Functions : things like log, + (takes two arguments), < (two), sum (multiple), and mean (one)

二、Types of data

  • Booleans
  • Integers
  • Characters
  • Floating point numbers : an integer times a positive integer to the power of an integer, as in 3 × 1 0 6 3 \times 10^6 3×106 or 1 × 3 − 1 1 \times 3^{-1} 1×3−1
    • Double precision: 64 bits (8 bytes); Single precision: 32 bits (4 bytes)
  • Missing or ill-defined values : NA, NaN, etc.

三、Operators

1、Operators

  • Unary : take just one argument. E.g., - for arithmetic negation, ! for Boolean negation
  • Binary : take two arguments. E.g., +, -, *, and / (though this is only a partial operator). Also, %% (for mod), and ^ (again partial)
  • 一元运算符:只接受一个参数。例如,负号(-)用于算术取反,感叹号(!)用于布尔取反。
  • 二元运算符:接受两个参数。例如,加号(+)、减号(-)、乘号(*)和除号(/)(尽管除号只是部分运算符)。还有求余运算符(%%),以及幂运算(^)(同样是部分运算符)。
c 复制代码
# %/% 执行整除运算,即只保留商的整数部分,舍弃余数。
# %% 是取模运算符,它返回除法后的余数。
# %/% 和 %% 常配合使用来获取整数商和余数。

10 / 3   # 结果是 3.333333
10 %/% 3 # 结果是 3(商的整数部分)
10 %% 3  # 结果是 1(余数)

2、Comparison operators

These are also binary operators; they take two objects, and give back a Boolean.

c 复制代码
6 > 5
6 < 5
6 >= 7

3、Logical operators

These basic ones are & (and) and | (or).

c 复制代码
(5 > 7) & (6 * 7 == 42)
## [1] FALSE

(5 > 7) | (6 * 7 == 42)
## [1] TRUE

Note: The double forms && and || are different!


四、Check types of data objects

  • The typeof() function returns the data type
  • is.x() functions return Boolean values indicating whether the argument is of type x
c 复制代码
typeof(6)
## [1] "double"
is.double(7)
## [1] TRUE
## 解释:在 R 语言中,数字的默认类型是 双精度浮点数(double)。

is.na(7)
## [1] FALSE
is.na(7/0)
## [1] FALSE
## 解释:跟数学里不同,7/0 = Inf  

is.na(0/0)
## [1] TRUE

五、Convertion between data objects

  • as.x() (tries to) "cast" its argument to type x, to translate it sensibly into such a value
c 复制代码
as.character(5/6)
## [1] "0.833333333333333"

as.numeric(as.character(5/6))
## [1] 0.8333333

6 * as.numeric(as.character(5/6))
## [1] 5

5/6 == as.numeric(as.character(5/6))
## [1] FALSE

六、R workspace

Where do the variables live?

c 复制代码
ls()
## [1] "approx.pi" "circumference" "diameter"

Getting rid of variables:

c 复制代码
rm("circumference")
ls()
## [1] "approx.pi" "diameter"

rm(list=ls()) # Be warned! This erases everything
ls()
## character(0)
相关推荐
许彰午9 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系9 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜10 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
chouchuang11 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python
云空12 小时前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js
techdashen12 小时前
Go 1.26 新增 `bytes.Buffer.Peek`:只看数据,不移动读取位置
开发语言·后端·golang
C137的本贾尼12 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
从零开始的代码生活_13 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
hy.z_77713 小时前
【C语言】11. 深入理解指针1
c语言·开发语言
charlie11451419114 小时前
现代C++工程实践——WeakPtr 第二关:核心骨架与控制块
开发语言·c++