- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近才了解到 tibble::lst
,它创建一个列表对象但自动命名列表项。我将其用作 %>%
工作流中的快捷方式,该工作流将名称用作 map_dfr
中的 .id
参数,因此自动命名真的很有帮助。
但是,名称是用引号括起来的。我注意到这一点是因为它们笨拙地在 ggplot
中的轴刻度标签中打印,即我有一个标签说 "Hartford"
而不是 Hartford
。
我查看了 tidyverse/tibble
github 上的问题,但没有找到任何东西。这是一个错误,还是我做错了什么?
library(dplyr)
library(purrr)
cities <- lst("New Haven", "Bridgeport", "Hartford")
cities
#> $`"New Haven"`
#> [1] "New Haven"
#>
#> $`"Bridgeport"`
#> [1] "Bridgeport"
#>
#> $`"Hartford"`
#> [1] "Hartford"
cities %>%
map_dfr(~tibble(dummy = rnorm(1)), .id = "city")
#> # A tibble: 3 x 2
#> city dummy
#> <chr> <dbl>
#> 1 "\"New Haven\"" -0.956
#> 2 "\"Bridgeport\"" 0.533
#> 3 "\"Hartford\"" -0.0553
起初我以为它可能是为了逃避“纽黑文”中的空间,但它也发生在单个字符上:
lst("a", "b", "c")
#> $`"a"`
#> [1] "a"
#>
#> $`"b"`
#> [1] "b"
#>
#> $`"c"`
#> [1] "c"
当我提供名称时,它的工作方式与我预期的一样,但这破坏了 lst
相对于基本 list
的优势。
lst(a = "a", b = "b", c = "c")
#> $a
#> [1] "a"
#>
#> $b
#> [1] "b"
#>
#> $c
#> [1] "c"
很确定我是最新的 tidyverse
相关包,但这里是我的 session 信息以防万一:
sessionInfo()
#> R version 3.5.1 (2018-07-02)
#> Platform: x86_64-apple-darwin15.6.0 (64-bit)
#> Running under: macOS High Sierra 10.13.6
#>
#> Matrix products: default
#> BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] purrr_0.2.5 dplyr_0.7.6
#>
#> loaded via a namespace (and not attached):
#> [1] Rcpp_0.12.18 knitr_1.20 bindr_0.1.1 magrittr_1.5
#> [5] tidyselect_0.2.4 R6_2.2.2 rlang_0.2.2 fansi_0.3.0
#> [9] stringr_1.3.1 tools_3.5.1 utf8_1.1.4 cli_1.0.0
#> [13] htmltools_0.3.6 yaml_2.2.0 assertthat_0.2.0 rprojroot_1.3-2
#> [17] digest_0.6.16 tibble_1.4.2 crayon_1.3.4 bindrcpp_0.2.2
#> [21] glue_1.3.0 evaluate_0.11 rmarkdown_1.10 stringi_1.2.4
#> [25] compiler_3.5.1 pillar_1.3.0 backports_1.1.2 pkgconfig_2.0.2
最佳答案
lst()
实际上是要与变量一起使用。比如
xa<-"a"
xb<-"b"
xc<-"c"
lst(xa,xb,xc)
# $`xa`
# [1] "a"
# $xb
# [1] "b"
# $xc
# [1] "c"
它不能很好地处理文字的、未命名的值。它从您传入的未评估的表达式中获取元素的名称。因此,如果您传入一个字符值,该评估的表达式仍然有引号。我想你只需要 list()
在这里。可能有名字:
cities <- list("New Haven", "Bridgeport", "Hartford")
names(cities)<-unname(cities)
cities
# $`New Haven`
# [1] "New Haven"
# $Bridgeport
# [1] "Bridgeport"
# $Hartford
# [1] "Hartford"
或者只写你自己的函数
nlist <- function(...) {
setNames(list(...), c(...))
}
cities <- nlist("New Haven", "Bridgeport", "Hartford")
关于R:tibble::lst 名称中不需要的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52389448/
这个问题已经有答案了: Why can I use the same name for iterator and sequence in a Python for loop? (6 个回答) 已关闭
public class VarargsParamVsLocalVariable { static void f(List... stringLists) { // compi
编程新手——我正在寻找我正在做的练习的答案,并从 here 得到了我的答案。 .我的问题是——在那个线程中,被选为最佳答案的是这段代码 [float(i) for i in lst] 代码做了它应该做
我从数据库成分中获取一个列表,然后创建一个新列表 somelist = inredinets。我使用 Convert(somelist) 转换 somelist 的一些值。这正在改变两个列表。有没有办
我正在尝试为我的加密系统安装 MIRACL 库。当我配置库时,它给了我“miracle.lst”,其中包含我需要编译的文件列表。我只是想知道有什么办法可以一次编译 .lst 文件中的所有文件吗?我不认
我最近才了解到 tibble::lst,它创建一个列表对象但自动命名列表项。我将其用作 %>% 工作流中的快捷方式,该工作流将名称用作 map_dfr 中的 .id 参数,因此自动命名真的很有帮助。
编译一些代码后,编译器会生成一堆文件。我有统计数据、符号、调用树、错误、列表、调试和 exe。除了列表文件之外,我已经弄清楚了每个的含义。列表文件的作用是什么。是针对用户还是计算机/嵌入式系统本身?
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
def only_evens(lst): """ Return a list of the lists in lst that contain only even integers.
我正在浏览一些旧代码,试图了解它的作用,我遇到了这个奇怪的声明: *x ,= p p 是此上下文中的列表。我一直在试图弄清楚这句话的作用。据我所知,它只是将 x 设置为 p 的值。例如: p = [1
这个问题在这里已经有了答案: Using '[' square bracket as a function for lapply in R (2 个答案) 关闭 5 年前。 我真的不知道怎么问这个问
使用 masm .lst 运行汇编语言程序时,会生成文件。 这个 .lst 文件的确切内容是什么,为什么这种转换必不可少? 最佳答案 作为另一种恐龙,我认为我们应该将 Hans Passant 的评论
到目前为止,从大多数相关帖子中,我已经了解分配给 List 的 ArrayList 和分配给 ArrayList 的 ArrayList 之间的用法差异 ArrayList arrName =
我发现自己经常使用类似的东西 for i in range(len(lst1)): lst1[i] += lst2[i] 是否有内置的等价于 range(len(.)) 的方法? (顺便说一句,我使用
我正在尝试构建一个函数: 接受长度为 n 的正整数列表作为参数, 返回所有长度为 n 的列表,这些列表由具有以下属性的非负整数组成: 对于列表 lst 它认为对于所有索引 i,lst[i] ≤ upp
问题 我正在尝试使用两个库修剪和压缩视频:Silicompressor和 k4l-video-trimmer .问题是两个库都使用 mp4parser但它的不同版本。k4l-video-trimmer
我编写了一个 NASM 程序,并使用 nasm -f elf -l rs.lst rs.asm 从它创建了一个列表文件。该程序运行完美,接收一个键输入值,然后输出该值是控制键还是可打印键,以及它是数字
这是带有 buildList 方法的类,用于构建 in class Recursive { public static ArrayList reversedList = new ArrayLi
我有一个从 IMDB Interfaces 下载的文件 (ratings.lst)。内容似乎采用以下格式:- Distribution Votes Rating Title 00000
我是 linux 的新手并尝试在我尝试编写的 PHP 脚本中使用 bash 命令,我需要从我正在使用 DirectoryIterator () 迭代的目录中写入每个 PDF 文件名在 PHP 中添加到
我是一名优秀的程序员,十分优秀!