前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实用技巧(1)R包检索

R语言实用技巧(1)R包检索

作者头像
R语言数据分析指南
发布2024-05-07 16:45:08
830
发布2024-05-07 16:45:08
举报

?本节来介绍两个R包内容较多,小编只介绍其中的两个功能分别是R包官网检索与循环格式转换,更多详细内容请参考官方文档。 ?

官方文档

?https://github.com/jsugarelli/packagefinder/ https://github.com/TimTeaFan/loopurrr/ ?

R包文档检索

?经常会遇到一些R包安装的问题使用install.packages会提示R包不存在,这种问题可能是R包未提交到CRAN官方仓库,而安装github上的包则需要知道作者名及仓库名,因此使用packagefinder包在Rstudio内执行代码则会直接跳转到R包官网即可找到安装代码。「注:此方法只适用于CRAN及Github上的R包非100%都能检索,其它仓库不适用」 ?

代码语言:javascript
复制
install.packages("packagefinder", dependencies = TRUE)
library(packagefinder)
代码语言:javascript
复制
go("ggh4x","website") # 打开ggh4x包主页

循环格式转换

?使用purrr包写循环时会使得过程极为简洁,但是不利于直观阅读代码过程,而loopurrr内的as_loop函数则可将此过程转换为常见的for循环。 ?

代码语言:javascript
复制
# install.packages("remotes")
remotes::install_github("TimTeaFan/loopurrr")
代码语言:javascript
复制
library(loopurrr)
library(tidyverse)
代码语言:javascript
复制
get_supported_fns("as_loop") # 了解当前支持purrr中的哪些函数适用as_loop()
代码语言:javascript
复制
#> $map
#>  [1] "map"     "map_at"  "map_chr" "map_dbl" "map_df"  "map_dfc" "map_dfr"
#>  [8] "map_if"  "map_int" "map_lgl" "map_raw"
#> 
#> $imap
#> [1] "imap"     "imap_chr" "imap_dbl" "imap_dfc" "imap_dfr" "imap_int" "imap_lgl"
#> [8] "imap_raw"
#> 
#> $map
#> [1] "map2"     "map2_chr" "map2_dbl" "map2_df"  "map2_dfc" "map2_dfr" "map2_int"
#> [8] "map2_lgl" "map2_raw"
#> 
#> $pmap
#> [1] "pmap"     "pmap_chr" "pmap_dbl" "pmap_df"  "pmap_dfc" "pmap_dfr" "pmap_int"
#> [8] "pmap_lgl" "pmap_raw"
#> 
#> $lmap
#> [1] "lmap"    "lmap_at"
#> 
#> $modify
#> [1] "modify"    "modify_at" "modify_if" "modify2"   "imodify"  
#> 
#> $walk
#> [1] "iwalk" "pwalk" "walk"  "walk2"
#> 
#> $accumulate
#> [1] "accumulate"  "accumulate2"
#> 
#> $reduce
#> [1] "reduce"  "reduce2"

循环展示

代码语言:javascript
复制
x <- list(1, c(1:2), c(1:3))
x %>% purrr::map(sum)
代码语言:javascript
复制
> x %>% purrr::map(sum)
[[1]]
[1] 1

[[2]]
[1] 3

[[3]]
[1] 6

循环转换

代码语言:javascript
复制
x %>% 
  purrr::map(sum) %>% 
  as_loop()
# --- convert: `purrr::map(x, sum)` as loop --- #
out <- vector("list", length = length(x))

for (i in seq_along(x)) {
  out[[i]] <- sum(x[[i]])
}
# --- end loop --- #
out
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-04,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 官方文档
  • R包文档检索
  • 循环格式转换
  • 循环展示
  • 循环转换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com