R向量化操作|基础知识
R向量化操作,实现并行高性能计算。
R向量化操作,即输入向量化处理后输出向量化。
1 向量化函数
1 R内置向量化函数
代码解读:
vec1 <- 1:10
sqrt(vec1)
sin(vec1)
结果如下:
2 R自定义向量化函数
代码解读:
func1 <- function(x, y) {
x + y
}
func1(1:4, 2:5)
func1(1:4, 1:2)
结果如下:
知识总结:
向量化操作的时候存在“重循环”现象,简而言之,小向量通过循环机制达成与大向量匹配,然后进行相应操作。
2 apply家族
2.1 apply 函数
代码解读:
mat1 <- matrix(
data = 1:6,
nrow = 2,
byrow = TRUE
)
apply(mat1, 1, sum)
apply(mat1, 2, function(x) paste0(x, collapse = ":"))
结果如下:
知识总结:
apply函数可以操作向量、矩阵、数组;
apply函数操作矩阵或者数据框时,对各行进行函数操作,设置参数margin值为1;对各列进行函数操作,设置参数margin值为2。
2.2 lapply函数
代码解读:
list1 <- list(1:2, 1:4, 10)
print(list1)
lapply(list1, function(x) x**2)
结果如下:
知识总结:
lapply函数对于输入列表的每个元素进行函数化处理,输出也是列表。
2.3 sapply函数
代码解读:
list2 <- list(1, 2, 3)
sapply(list2, function(x) x**2)
lapply(list2, function(x) x**2)
结果如下:
知识总结:
sapply与lapply类似,简化了输出。
您在阅读中,关于R向量化操作有什么见解,请评论。
更多R内容,请阅读R系列文章。
想加入数据人圈子,请加微信luqin360。
文章推荐:
2 R语言做数据探索
3 电商评论情感分析
公众号推荐:
1 数据科学与人工智能,分享数据科学和人工智能的内容。
2 好又乐书屋,分享王阳明|曾国藩|毛泽东的思想,健康、教育的内容,传播正能量。
阅读原文,更多精彩!
分享是收获,传播是价值!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!