基于 unquote-splicing 排除多列(!!!)

2024-01-04

试图排除

  • multiple调用中的列tidyr::gather()
  • 它们通过a作为我的函数的输入字符向量参数(输出shiny::selectInput)而不是通过...
  • in a 程序化的 way

我该如何使用整洁的评估功能来做到这一点?

由于我通过单个函数参数传递多个列名称,我认为我需要使用!!!(取消引号拼接)而不是!!如中所述使用 dplyr 编程 https://dplyr.tidyverse.org/articles/programming.html#unquote-splicing。但这似乎不太好用tidyselect::vars_select()似乎-造成了麻烦。

这是我想做的基本事情:

library(magrittr)
gather_data_1 <- function(dat, ...) {
  dat %>% tidyr::gather("key", "value", ...)
}
mtcars %>% gather_data_1(-mpg, -cyl) %>% head()
#>    mpg cyl  key value
#> 1 21.0   6 disp   160
#> 2 21.0   6 disp   160
#> 3 22.8   4 disp   108
#> 4 21.4   6 disp   258
#> 5 18.7   8 disp   360
#> 6 18.1   6 disp   225

But我想通过single参数(就像在闪亮的应用程序中它将通过input$<select_input_id>以及):

gather_data_2 <- function(dat, exclude) {
  exclude <- rlang::syms(exclude)

  dat %>% tidyr::gather("key", "value", -!!!exclude)
}
mtcars %>% gather_data_2(exclude = c("mpg", "cyl"))
#> Error: Can't use `!!!` at top level

然后我试着看看是否-问题是:

gather_data_3 <- function(dat, exclude) {
  exclude <- rlang::syms(exclude)

  dat %>% tidyr::gather("key", "value", !!!exclude)
}
mtcars %>% gather_data_3(exclude = c("mpg", "cyl")) %>% head()
#>   disp  hp drat    wt  qsec vs am gear carb key value
#> 1  160 110 3.90 2.620 16.46  0  1    4    4 mpg  21.0
#> 2  160 110 3.90 2.875 17.02  0  1    4    4 mpg  21.0
#> 3  108  93 3.85 2.320 18.61  1  1    4    1 mpg  22.8
#> 4  258 110 3.08 3.215 19.44  1  0    3    1 mpg  21.4
#> 5  360 175 3.15 3.440 17.02  0  0    3    2 mpg  18.7
#> 6  225 105 2.76 3.460 20.22  1  0    3    1 mpg  18.1

这似乎有效。

然后我试图得到-到实际的符号名称中,但这不起作用(至少是我尝试的方式;-)):

gather_data_4 <- function(dat, exclude) {
  exclude <- rlang::syms(sprintf("-%s", exclude))

  dat %>% tidyr::gather("key", "value", !!!exclude)
}
mtcars %>% gather_data_4(exclude = c("mpg", "cyl"))
#> Error in .f(.x[[i]], ...): object '-mpg' not found


  [1]: https://dplyr.tidyverse.org/articles/programming.html#unquote-splicing

EDIT

在莱昂内尔的帮助下,我能够将其拼凑起来:

gather_data_6 <- function(dat, exclude) {
  dat %>% tidyr::gather("key", "value", -c(rlang::UQS(exclude)))
}
mtcars %>% gather_data_6(exclude = c("mpg", "cyl")) %>% head()
#>    mpg cyl  key value
#> 1 21.0   6 disp   160
#> 2 21.0   6 disp   160
#> 3 22.8   4 disp   108
#> 4 21.4   6 disp   258
#> 5 18.7   8 disp   360
#> 6 18.1   6 disp   225

甚至简化:

gather_data_7 <- function(dat, exclude) {
  dat %>% tidyr::gather("key", "value", -c(!!!exclude))
}
mtcars %>% gather_data_7(exclude = c("mpg", "cyl")) %>% head()
#>    mpg cyl  key value
#> 1 21.0   6 disp   160
#> 2 21.0   6 disp   160
#> 3 22.8   4 disp   108
#> 4 21.4   6 disp   258
#> 5 18.7   8 disp   360
#> 6 18.1   6 disp   225

创建于 2018-04-26代表包 https://github.com/tidyverse/reprex(v0.2.0)。


您需要取消引用拼接表达式列表,而不是符号列表。例如:

library(tidyverse)

gather_data_4 <- function(.data, exclude) {
  exclude <- map(syms(exclude), function(s) expr(-!!s))

  gather(.data, "key", "value", !!!exclude)
}
mtcars %>% gather_data_4(exclude = c("mpg", "cyl"))
#>      mpg cyl  key   value
#> 1   21.0   6 disp 160.000
#> 2   21.0   6 disp 160.000
#> 3   22.8   4 disp 108.000
#> 4   21.4   6 disp 258.000
#> 5   18.7   8 disp 360.000
#> 6   18.1   6 disp 225.000
#> 7   14.3   8 disp 360.000
#> 8   24.4   4 disp 146.700
#> 9   22.8   4 disp 140.800
#> 10  19.2   6 disp 167.600
#> 11  17.8   6 disp 167.600
#> 12  16.4   8 disp 275.800
#> 13  17.3   8 disp 275.800
#> 14  15.2   8 disp 275.800
#> 15  10.4   8 disp 472.000
#> 16  10.4   8 disp 460.000
#> 17  14.7   8 disp 440.000
#> 18  32.4   4 disp  78.700
#> 19  30.4   4 disp  75.700
#> 20  33.9   4 disp  71.100
#> 21  21.5   4 disp 120.100
#> 22  15.5   8 disp 318.000
#> 23  15.2   8 disp 304.000
#> 24  13.3   8 disp 350.000
#> 25  19.2   8 disp 400.000
#> 26  27.3   4 disp  79.000
#> 27  26.0   4 disp 120.300
#> 28  30.4   4 disp  95.100
#> 29  15.8   8 disp 351.000
#> 30  19.7   6 disp 145.000
#> 31  15.0   8 disp 301.000
#> 32  21.4   4 disp 121.000
#> 33  21.0   6   hp 110.000
#> 34  21.0   6   hp 110.000
#> 35  22.8   4   hp  93.000
#> 36  21.4   6   hp 110.000
#> 37  18.7   8   hp 175.000
#> 38  18.1   6   hp 105.000
#> 39  14.3   8   hp 245.000
#> 40  24.4   4   hp  62.000
#> 41  22.8   4   hp  95.000
#> 42  19.2   6   hp 123.000
#> 43  17.8   6   hp 123.000
#> 44  16.4   8   hp 180.000
#> 45  17.3   8   hp 180.000
#> 46  15.2   8   hp 180.000
#> 47  10.4   8   hp 205.000
#> 48  10.4   8   hp 215.000
#> 49  14.7   8   hp 230.000
#> 50  32.4   4   hp  66.000
#> 51  30.4   4   hp  52.000
#> 52  33.9   4   hp  65.000
#> 53  21.5   4   hp  97.000
#> 54  15.5   8   hp 150.000
#> 55  15.2   8   hp 150.000
#> 56  13.3   8   hp 245.000
#> 57  19.2   8   hp 175.000
#> 58  27.3   4   hp  66.000
#> 59  26.0   4   hp  91.000
#> 60  30.4   4   hp 113.000
#> 61  15.8   8   hp 264.000
#> 62  19.7   6   hp 175.000
#> 63  15.0   8   hp 335.000
#> 64  21.4   4   hp 109.000
#> 65  21.0   6 drat   3.900
#> 66  21.0   6 drat   3.900
#> 67  22.8   4 drat   3.850
#> 68  21.4   6 drat   3.080
#> 69  18.7   8 drat   3.150
#> 70  18.1   6 drat   2.760
#> 71  14.3   8 drat   3.210
#> 72  24.4   4 drat   3.690
#> 73  22.8   4 drat   3.920
#> 74  19.2   6 drat   3.920
#> 75  17.8   6 drat   3.920
#> 76  16.4   8 drat   3.070
#> 77  17.3   8 drat   3.070
#> 78  15.2   8 drat   3.070
#> 79  10.4   8 drat   2.930
#> 80  10.4   8 drat   3.000
#> 81  14.7   8 drat   3.230
#> 82  32.4   4 drat   4.080
#> 83  30.4   4 drat   4.930
#> 84  33.9   4 drat   4.220
#> 85  21.5   4 drat   3.700
#> 86  15.5   8 drat   2.760
#> 87  15.2   8 drat   3.150
#> 88  13.3   8 drat   3.730
#> 89  19.2   8 drat   3.080
#> 90  27.3   4 drat   4.080
#> 91  26.0   4 drat   4.430
#> 92  30.4   4 drat   3.770
#> 93  15.8   8 drat   4.220
#> 94  19.7   6 drat   3.620
#> 95  15.0   8 drat   3.540
#> 96  21.4   4 drat   4.110
#> 97  21.0   6   wt   2.620
#> 98  21.0   6   wt   2.875
#> 99  22.8   4   wt   2.320
#> 100 21.4   6   wt   3.215
#> 101 18.7   8   wt   3.440
#> 102 18.1   6   wt   3.460
#> 103 14.3   8   wt   3.570
#> 104 24.4   4   wt   3.190
#> 105 22.8   4   wt   3.150
#> 106 19.2   6   wt   3.440
#> 107 17.8   6   wt   3.440
#> 108 16.4   8   wt   4.070
#> 109 17.3   8   wt   3.730
#> 110 15.2   8   wt   3.780
#> 111 10.4   8   wt   5.250
#> 112 10.4   8   wt   5.424
#> 113 14.7   8   wt   5.345
#> 114 32.4   4   wt   2.200
#> 115 30.4   4   wt   1.615
#> 116 33.9   4   wt   1.835
#> 117 21.5   4   wt   2.465
#> 118 15.5   8   wt   3.520
#> 119 15.2   8   wt   3.435
#> 120 13.3   8   wt   3.840
#> 121 19.2   8   wt   3.845
#> 122 27.3   4   wt   1.935
#> 123 26.0   4   wt   2.140
#> 124 30.4   4   wt   1.513
#> 125 15.8   8   wt   3.170
#> 126 19.7   6   wt   2.770
#> 127 15.0   8   wt   3.570
#> 128 21.4   4   wt   2.780
#> 129 21.0   6 qsec  16.460
#> 130 21.0   6 qsec  17.020
#> 131 22.8   4 qsec  18.610
#> 132 21.4   6 qsec  19.440
#> 133 18.7   8 qsec  17.020
#> 134 18.1   6 qsec  20.220
#> 135 14.3   8 qsec  15.840
#> 136 24.4   4 qsec  20.000
#> 137 22.8   4 qsec  22.900
#> 138 19.2   6 qsec  18.300
#> 139 17.8   6 qsec  18.900
#> 140 16.4   8 qsec  17.400
#> 141 17.3   8 qsec  17.600
#> 142 15.2   8 qsec  18.000
#> 143 10.4   8 qsec  17.980
#> 144 10.4   8 qsec  17.820
#> 145 14.7   8 qsec  17.420
#> 146 32.4   4 qsec  19.470
#> 147 30.4   4 qsec  18.520
#> 148 33.9   4 qsec  19.900
#> 149 21.5   4 qsec  20.010
#> 150 15.5   8 qsec  16.870
#> 151 15.2   8 qsec  17.300
#> 152 13.3   8 qsec  15.410
#> 153 19.2   8 qsec  17.050
#> 154 27.3   4 qsec  18.900
#> 155 26.0   4 qsec  16.700
#> 156 30.4   4 qsec  16.900
#> 157 15.8   8 qsec  14.500
#> 158 19.7   6 qsec  15.500
#> 159 15.0   8 qsec  14.600
#> 160 21.4   4 qsec  18.600
#> 161 21.0   6   vs   0.000
#> 162 21.0   6   vs   0.000
#> 163 22.8   4   vs   1.000
#> 164 21.4   6   vs   1.000
#> 165 18.7   8   vs   0.000
#> 166 18.1   6   vs   1.000
#> 167 14.3   8   vs   0.000
#> 168 24.4   4   vs   1.000
#> 169 22.8   4   vs   1.000
#> 170 19.2   6   vs   1.000
#> 171 17.8   6   vs   1.000
#> 172 16.4   8   vs   0.000
#> 173 17.3   8   vs   0.000
#> 174 15.2   8   vs   0.000
#> 175 10.4   8   vs   0.000
#> 176 10.4   8   vs   0.000
#> 177 14.7   8   vs   0.000
#> 178 32.4   4   vs   1.000
#> 179 30.4   4   vs   1.000
#> 180 33.9   4   vs   1.000
#> 181 21.5   4   vs   1.000
#> 182 15.5   8   vs   0.000
#> 183 15.2   8   vs   0.000
#> 184 13.3   8   vs   0.000
#> 185 19.2   8   vs   0.000
#> 186 27.3   4   vs   1.000
#> 187 26.0   4   vs   0.000
#> 188 30.4   4   vs   1.000
#> 189 15.8   8   vs   0.000
#> 190 19.7   6   vs   0.000
#> 191 15.0   8   vs   0.000
#> 192 21.4   4   vs   1.000
#> 193 21.0   6   am   1.000
#> 194 21.0   6   am   1.000
#> 195 22.8   4   am   1.000
#> 196 21.4   6   am   0.000
#> 197 18.7   8   am   0.000
#> 198 18.1   6   am   0.000
#> 199 14.3   8   am   0.000
#> 200 24.4   4   am   0.000
#> 201 22.8   4   am   0.000
#> 202 19.2   6   am   0.000
#> 203 17.8   6   am   0.000
#> 204 16.4   8   am   0.000
#> 205 17.3   8   am   0.000
#> 206 15.2   8   am   0.000
#> 207 10.4   8   am   0.000
#> 208 10.4   8   am   0.000
#> 209 14.7   8   am   0.000
#> 210 32.4   4   am   1.000
#> 211 30.4   4   am   1.000
#> 212 33.9   4   am   1.000
#> 213 21.5   4   am   0.000
#> 214 15.5   8   am   0.000
#> 215 15.2   8   am   0.000
#> 216 13.3   8   am   0.000
#> 217 19.2   8   am   0.000
#> 218 27.3   4   am   1.000
#> 219 26.0   4   am   1.000
#> 220 30.4   4   am   1.000
#> 221 15.8   8   am   1.000
#> 222 19.7   6   am   1.000
#> 223 15.0   8   am   1.000
#> 224 21.4   4   am   1.000
#> 225 21.0   6 gear   4.000
#> 226 21.0   6 gear   4.000
#> 227 22.8   4 gear   4.000
#> 228 21.4   6 gear   3.000
#> 229 18.7   8 gear   3.000
#> 230 18.1   6 gear   3.000
#> 231 14.3   8 gear   3.000
#> 232 24.4   4 gear   4.000
#> 233 22.8   4 gear   4.000
#> 234 19.2   6 gear   4.000
#> 235 17.8   6 gear   4.000
#> 236 16.4   8 gear   3.000
#> 237 17.3   8 gear   3.000
#> 238 15.2   8 gear   3.000
#> 239 10.4   8 gear   3.000
#> 240 10.4   8 gear   3.000
#> 241 14.7   8 gear   3.000
#> 242 32.4   4 gear   4.000
#> 243 30.4   4 gear   4.000
#> 244 33.9   4 gear   4.000
#> 245 21.5   4 gear   3.000
#> 246 15.5   8 gear   3.000
#> 247 15.2   8 gear   3.000
#> 248 13.3   8 gear   3.000
#> 249 19.2   8 gear   3.000
#> 250 27.3   4 gear   4.000
#> 251 26.0   4 gear   5.000
#> 252 30.4   4 gear   5.000
#> 253 15.8   8 gear   5.000
#> 254 19.7   6 gear   5.000
#> 255 15.0   8 gear   5.000
#> 256 21.4   4 gear   4.000
#> 257 21.0   6 carb   4.000
#> 258 21.0   6 carb   4.000
#> 259 22.8   4 carb   1.000
#> 260 21.4   6 carb   1.000
#> 261 18.7   8 carb   2.000
#> 262 18.1   6 carb   1.000
#> 263 14.3   8 carb   4.000
#> 264 24.4   4 carb   2.000
#> 265 22.8   4 carb   2.000
#> 266 19.2   6 carb   4.000
#> 267 17.8   6 carb   4.000
#> 268 16.4   8 carb   3.000
#> 269 17.3   8 carb   3.000
#> 270 15.2   8 carb   3.000
#> 271 10.4   8 carb   4.000
#> 272 10.4   8 carb   4.000
#> 273 14.7   8 carb   4.000
#> 274 32.4   4 carb   1.000
#> 275 30.4   4 carb   2.000
#> 276 33.9   4 carb   1.000
#> 277 21.5   4 carb   1.000
#> 278 15.5   8 carb   2.000
#> 279 15.2   8 carb   2.000
#> 280 13.3   8 carb   4.000
#> 281 19.2   8 carb   2.000
#> 282 27.3   4 carb   1.000
#> 283 26.0   4 carb   2.000
#> 284 30.4   4 carb   2.000
#> 285 15.8   8 carb   4.000
#> 286 19.7   6 carb   6.000
#> 287 15.0   8 carb   8.000
#> 288 21.4   4 carb   2.000

创建于 2018-04-24代表包 http://reprex.tidyverse.org(v0.2.0)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于 unquote-splicing 排除多列(!!!) 的相关文章

  • 多个动态滤镜更新闪亮

    我希望能够让 UI 输入闪亮 并根据用户之前的选择进行自我更新 因此 在下面的示例中 预期的行为是用户选择cyl vsor carb那么这将 过滤数据集mtcars用于创建绘图 即用户根据过滤条件调整绘图并 更新其他过滤器中的剩余输入选择
  • 为什么 sapply 的缩放速度比样本大小的 for 循环慢?

    假设我想采用向量 X 2 1 N 并将 e 计算为每个元 素的指数 是的 我认识到最好的方法就是通过向量化 exp X 但这样做的目的是将 for 循环与 sapply 进行比较 我通过逐步尝试三种方法 一种使用 for 循环 两种以不同方
  • sapply - 保留列名称

    我试图总结数据集中许多不同列 变量 的平均值 标准差等 我已经编写了自己的汇总函数 以准确返回我需要和正在使用的内容sapply立即将此函数应用于所有变量 它工作正常 但是返回的数据帧没有列名 我似乎甚至无法使用列号引用重命名它们 也就是说
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • 如何声明包含 M 个元素的列表对象

    我想声明一个包含 M 3 x 3 矩阵的列表 如果我事先知道数字 M 那么我可以通过以下方式声明这样的列表 elm lt matrix NA 3 3 Say M 7 myList lt list elm elm elm elm elm el
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • data.table 抛出“找不到对象”错误[重复]

    这个问题在这里已经有答案了 我有一个数据表 library data table mydt lt data table index 1 10 当我在全局环境中尝试它时 我可以让它工作 但当我在调试器中或在包测试中使用它时却无法工作 问题是我
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • R:按组,测试一个变量的每个值是否存在于另一个变量中

    我有一个数据框架 结构如下 a lt c 1 1 1 2 2 2 3 3 3 3 4 4 b lt c 1 2 3 1 2 3 1 2 3 4 1 2 c lt c NA NA 2 NA 1 1 NA NA 1 1 NA NA df lt
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • R 改变构面的顺序

    我正在尝试将方面的顺序从 BA SLG 更改为 SLG BA 我发现了与此类似的问题 但我认为我的解决方案可能不起作用 因为我已经在Excel中汇总了数据 因此 我的数据框可能会有所不同 无论如何 我尝试实现这个但无济于事 df2 lt f
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • 在 R 上安装 TDA 包时出错:目标“diag.o”的配方失败

    使用 Ubuntu 16 04 和 R 3 4 1 安装 R 包 TDA 时收到错误消息 它似乎与制作 CGAL diag cpp 和 或 diag o 最后的完整错误打印输出 有关 我仔细看了这个 在 R 上安装 TDA 包时出错 htt
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐

  • 将给定图片上的长/纬度转换为像素 x/y

    我有莫斯科的城市地图 我们用一些艺术元素修改了 Google 地图图像 但 GPS 坐标和像素之间的关系保持不变 Problem 如何将我们拥有的各种数据点的 GPS 坐标转换为图像中的像素坐标 理想情况下我可以用 Javascript 来
  • 为 Citrix/终端服务器编程 .NET 应用程序:合规性和陷阱

    我们在这里有点迷失了 我们需要使我们的应用程序可安装在具有 80 多个 Citrix 服务器的网络上 尽管我们的应用程序是 100 有效且可正常运行的 NET 但我们还是经历了一些 对我们来说很奇怪的 行为 您不能使用任何 文档和设置 文件
  • 更改 UILabel 文本不触发自动布局

    我在故事板中有一个视图控制器 并在控制器中将 UILabel 和 ui 集合视图组合在一起 然而 每次我更改 UILabel 文本时 它都会触发自动布局 这表明我获得了视图将布局和视图执行布局事件 我不想更改文本来触发自动布局 但是当我使用
  • Mongodb 查找今天按日期创建的结果

    我有这个查询来获取当月的结果 但我想得到今天的结果 var start new Date 2010 11 1 var end new Date 2010 11 30 db posts find created on gte start lt
  • 每个 url 路由和子路由的 Spring 单页“/a/** => /a/index.html except /a/static/**”

    我正在构建 spring 网站 该网站在子路由下有反应单页应用程序 我当前的 url 结构应该如下所示 localhost admin gt react app localhost gt spring thymeleaf rest webs
  • 如何使用 ImageGrid 将标签添加到颜色条?

    在之前的一个问题中 ImageGrid 中的颜色条标签 matplotlib https stackoverflow com questions 14205547 colobar label matplotlib in imagegrid
  • Ajax 请求包含无效字符

    我创建了一个 AJAX 请求 在新的浏览器中它工作正常 但 IE7 告诉我该行中的字符有错误 其中function gettestvaraibles 站立 有人能告诉我错误可能出在哪里吗 ajax http testurl eID test
  • # -*- 编码:utf-8 -*- 在 python3 上 [重复]

    这个问题在这里已经有答案了 我在 Windows 上使用 Python 3 x 我应该使用 coding utf 8 我的文件上的声明 我读过很多主题 我认为答案是否定的 但我不确定 顺便说一句 我只用英语和意大利语写作 也许你还需要知道一
  • Socket.io Engine.io 问题“?EIO=4&transport=polling&t=OUAHy-a 404”

    当我尝试使用 socket io 将客户端连接到我的网站时 它只是垃圾邮件https example com socket io EIO 4 transport polling t OUAHy a 404 有时请求只是超时而不是 404 在
  • C 风格结构体声明

    我有一个关于 C 风格结构的简单问题 我正在挖掘一些示例代码 发现了一个按以下方式声明的结构 typedef struct STRUCTNAME struct contents STRUCTNAME 请注意 第二次出现 STRUCTNAME
  • TypeScript 在 jquery 函数作用域内调用类上的方法

    我有下面的 TypeScript 类 export class BrandViewModel private items ko observableArray public Add id number name string active
  • 原始查询必须包含主键

    我有一个原始的 SQL 语句views py Message objects raw SELECT s1 ID s1 CHARACTER ID MAX s1 MESSAGE MESSAGE MAX s1 c occurrences FROM
  • 对于这种 PHP 按值调用行为有合理的解释吗?还是 PHP 的 bug?

    PHP 5 5 12 考虑一下
  • 多态模型的骨干集合

    我有一系列动物 App Collections Animals extends Backbone Collection model App Animal url animals returns json 这些动物类别 App Models
  • BinaryWriter 字节序问题

    我正在使用 BinaryWriter 类将二进制文件写入磁盘 当我调用 Write 方法并传递无符号短值时 它会以小端格式写入 例如 bw Write 0xA000 将二进制文件中的值写入为 0x00 0xA0 有没有办法让 BInaryW
  • 如何列出特定 S3 存储桶中的所有文件?

    我在我的项目中使用 AWS S3 存储桶 在其中使用 API 上传图像和列出图像 效果非常好 现在我想列出特定 S3 存储桶 文件夹的所有文件 特定存储桶的对象列表 这是我的 S3 存储桶的屏幕截图 我尝试给存储桶命名 例如 wevieu
  • 以编程方式指定 Django 模型属性

    我想以编程方式向 Django 模型添加属性 在类创建时 定义模型类时 此后模型在运行时不会改变 例如 假设我想定义一个Car模型类并想添加一个price给定货币列表的每种货币的属性 数据库列 这个货币列表应该被认为是一个不会改变运行时间的
  • 无法将 IMAPInputStream 转换为 Multipart

    在Java项目中 我可以从gmail服务器接收邮件 但我想收到身体的包裹部分 在这个代码示例中我的最后一个message messages length 1 是多部分 混合的 调试是通过if块 但它落入 catch 块并给了我以下消息 线程
  • Gradle 中的相对项目依赖关系?

    指定 Gradle 项目依赖项时 我可以避免使用完整的绝对项目名称并使用相对项目名称吗 即在我的示例中 我不想在引用 domain a 时显式指定 app a Directory structure app a domain a build
  • 基于 unquote-splicing 排除多列(!!!)

    试图排除 multiple调用中的列tidyr gather 它们通过a作为我的函数的输入字符向量参数 输出shiny selectInput 而不是通过 in a 程序化的 way 我该如何使用整洁的评估功能来做到这一点 由于我通过单个函