r - 在 R 中使用映射函数和向量
问题描述
我试图了解具有purrr::map()
函数的向量的工作原理。我有一个向量c("cat", "fish", "hamster")
,我想将其转换为以下输出:
[[1]]
[1] "cat" "cat" "cat"
[[2]]
[1] "fish" "fish"
[[3]]
[1] "hamster"
不确定map()
我应该使用哪个功能以及如何使用它。我发现它重复了第一个元素三次,两次重复了两次,第三次重复了三次。
解决方案
我们不需要为此打包。rep
和_split
v2 <- rep(v1, length(v1):1)
split(v2, v2)
#$cat
#[1] "cat" "cat" "cat"
#$fish
#[1] "fish" "fish"
#$hamster
#[1] "hamster"
或使用imap
library(purrr)
rev(imap(rev(v1), ~ rep(.x, .y)))
数据
v1 <- c("cat", "fish", "hamster")
推荐阅读
- json - 读取动态 JSON 属性
- r - 在一个条件下保持一行数据框
- sql-server - SQL Server 中存储过程的可选参数
- python - YAML 文件参数值无效错误
- optimization - 部分字符串匹配的 BaseX 索引或查询优化
- php - 致命错误:访问未声明的静态属性(使用 realexpayments)
- c++ - 使用递归模板动态分配多维数组
- django - TemplateDoesNotExist 位于/home_page.html
- reactjs - 如何为 graphql 生成 TypeScript 定义
- aws-lambda - 从 Lambda 访问 Amazon Aurora?