R语言易错点(持续更新中~~)

1.R向量元素的索引(下标)是从1开始的,而非0

复制代码
>x
[1] 1 2 4

>x[3]
[1] 4

2.\[\]和 \[ ]

复制代码
mylist<-list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(10,3,14,25,19))
> mylist
$stud.id
[1] 1234

$stud.name
[1] "Tom"

$stud.marks
[1] 10  3 14 25 19

mylist[[1]]
#输出
[1] 1234
mylist[1]
#输出
$stud.id
[1]1234

mode(mylist[[1]])
#输出
[1] "numeric"

mode(mylist[1])
#输出
[1] "list"

mylist\[1]

列表的第一个组件的值

类型为"numeric"

mylist1

第一个成分的子列表

类型为"list"

3.标量和一元向量

标量是只包含一个单一数值的数据类型 ,而长度为一的向量是包含一个元素的向量

复制代码
# 标量
x <- 5

# 长度为一的向量
y <- c(5)

通常情况下,标量可以被看作一元向量

# 标量
x <- 5

# 长度为一的向量
y <- c(5)

# 进行乘法运算
result1 <- x * x
result2 <- y * y

# 输出结果
print(result1)
print(result2)

[1] 25
[1] 25

#注意:使用向量化的运算符会使得函数也向量化
#这也适用于很多内置函数,例如round()
> y<-c(1.2,3.9,0.4)
> z<-round(y)
> z
[1] 1 4 0
#round()函数能应用到向量y的每一个元素中,标量实际上就是一元向量,所以对单个数值使用round()函数,只是一种特殊情况
round(1.2)
[1] 1

#诸如+这样的运算符实际也是函数
> y<-c(12,5,13)
> y+4
[1] 16  9 17
这样写更加明显


> '+'(y+4)
[1] 16  9 17
#在这里我们定义f(),我们希望c是标量,但实际上,他是一个长度为1的向量
#即使我们调用f()时给c指定的是单个数值,在f()计算x+c时,他也会通过循环补齐的方式延展为一个向量。
> f<-function(x,c){
+ return ((x+c)^2)
+ }
> f(1:3,0)
[1] 1 4 9

#这意味着f()可以使用显式的向量给c赋值
f(1:3,1:3)
[1] 4 16 36

如果想把c限制为1个标量
> f<-function(x,c){
+ if(length(c)!=1)
+ stop("vector c not allowed")
+ return((x+c)^2)
+ }

由以上例子可以总结出以下结论

1.使用向量化的运算符会使得函数也向量化

  1. 内置函数和运算符号都可以实现向量化操作,运算符其实是一种函数,这种将运算符作为函数使用的方式被称为函数调用运算符。

内容持续更新中~💖💖💖💖

相关推荐
接着奏乐接着舞。7 分钟前
【2026年7月最新】69道RAG面试题
前端·人工智能·后端·aigc·embedding·rag
以和为贵7 分钟前
前端也能搞懂 Agent:从 Function Calling 到自主编排
前端·人工智能·架构
DogDaoDao19 分钟前
LLM:用一条命令统一所有大语言模型的 CLI 工具
人工智能·语言模型·自然语言处理·llm·github
风止何安啊25 分钟前
🚦 前端并发请求 “交通管制”:别让你的接口堵成早高峰
前端·javascript·面试
J船长29 分钟前
扫盲烂笔头:A 记录、CNAME 的作用, Nginx的用途,为啥叫反向代理
前端
妙码生花35 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(二十六):icon 组件封装
前端·vue.js·typescript
李明卫杭州35 分钟前
Vue2 & Vue3 中 Router `props` 配置详解:彻底摆脱 `$route` 依赖
前端·vue.js·前端框架
掘金一周36 分钟前
裁员了,公司很爽快,赔偿一分没少 | 沸点周刊 7.8
前端·人工智能·后端
熊猫钓鱼>_>40 分钟前
2026 前端的三场底层革命:当 Vue、React Native 和 Three.js 同时去掉中间层
前端·javascript·vue.js·react native·架构·webgl·three.js
名字还没想好☜1 小时前
React useEffect 依赖数组踩坑:闭包陷阱与清理函数
前端·javascript·react.js·react·useeffect