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

简介: 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“


mylist[1]


第一个成分的子列表


类型为“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.使用向量化的运算符会使得函数也向量化


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


目录
相关文章
|
C语言
24.【特殊函数篇==(十篇一章,持续更新~)】(二)
24.【特殊函数篇==(十篇一章,持续更新~)】
49 0
|
C++
24.【特殊函数篇==(十篇一章,持续更新~)】(一)
24.【特殊函数篇==(十篇一章,持续更新~)】
57 0
|
3月前
|
存储 数据处理 开发者
深入浅出:Python编程基础与实战技巧
【9月更文挑战第32天】本文将引导读者从零开始,掌握Python编程语言的核心概念,并通过实际代码示例深入理解。我们将逐步探索变量、数据结构、控制流、函数、类和异常处理等基本知识,并结合实用案例,如数据处理、文件操作和网络请求,提升编程技能。无论您是初学者还是有一定经验的开发者,这篇文章都能帮助您巩固基础,拓展视野。
34 3
|
5月前
|
存储 程序员 开发工具
深入浅出Python编程基础
【8月更文挑战第28天】本文将带你进入Python编程的奇妙世界,无论你是初学者还是有一定基础的开发者,都可以在这里找到适合自己的知识。我们将从最基础的语法讲起,然后逐步深入到更复杂的主题,如函数、类和模块等。最后,我们还将介绍一些实用的开发工具和技术,帮助你更好地进行Python编程。让我们一起开始这段旅程吧!
|
8月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
92 1
|
8月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言中的高级编程技巧
【4月更文挑战第25天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
69 1
|
8月前
|
机器学习/深度学习 网络协议 数据库
Python编程实战:解决常见编程问题
```markdown Python编程入门指南:涵盖文件操作、列表操作、字符串处理、函数编写、异常处理、网络编程和数据库操作等实战案例。通过示例代码,学习如何读写文件、排序列表、转换字符串、创建函数、处理异常、构建TCP服务器及操作SQLite数据库,逐步掌握Python核心技能。 ```
|
8月前
|
C++
C++核心编程三:函数提高(持续更新)
C++核心编程三:函数提高(持续更新)
|
XML Java 编译器
【C++】 C++ 基础进阶【一】易错点
本文章主要分享 C++ 的一些基础和易错点,通过比较好的编程方式和借助编译器,将节省的精力和时间用在重要的事情上。
190 0
|
存储 算法 Python
Python蓝桥杯易错点整理和心得总结【一】
Python蓝桥杯易错点整理和心得总结【一】
326 0
Python蓝桥杯易错点整理和心得总结【一】