小编sah*_*ahn的帖子

如果 RStudio 编辑器主题为深色,kableExtra 表的内容将不可见

我使用深色 RStudio 主题并尝试knitrExtra在 R Markdown 文档中打印表格。不幸的是,表格的主要内容是不可见的(即白色背景上的白色符号)。

问题:如何使用kableExtra深色 RStudio 编辑器主题使 R Markdown 文档中的表格内容可见?

代码示例:

```{r}
library(kableExtra)

head(iris) %>% 
  knitr::kable(caption = "**Table 1.** Iris data. ", digits = 2) %>% 
  kableExtra::kable_styling()
```
Run Code Online (Sandbox Code Playgroud)

输出示例:

在此输入图像描述

如果选择文本,内容会暂时可见,但这不是我正在寻找的解决方案:

在此输入图像描述


RStudio 版本: 1.1.463
kabeExtra版本: 0.9.0

r rstudio r-markdown kableextra

9
推荐指数
1
解决办法
987
查看次数

如何在R中比较两个字符串?

我在比较 R 中的两个字符串时遇到问题。有没有办法做到这一点?

就像Java中的那样String.equals(AnotherString),R中是否有类似的功能?

string r string-comparison

9
推荐指数
1
解决办法
3万
查看次数

R 中发现的任何错误都会响应 Error in app$vspace(new_style$`margin-top` %||% 0) : attempts to apply non-function

老实说,我不知道如何使其可重现。使用 tidyverse 在 R 中发生的任何错误都会抛出:

Error in app$vspace(new_style$`margin-top` %||% 0) : 
  attempt to apply non-function
Run Code Online (Sandbox Code Playgroud)

还有其他人看过这个吗?

编辑:这是 sessionInfo() 输出:

R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252    LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] rstatix_0.7.0   plotly_4.10.0   ggpubr_0.4.0    forcats_0.5.1   stringr_1.4.0   dplyr_1.0.4     purrr_0.3.4     readr_2.1.2     tidyr_1.2.0     tibble_3.0.6   
[11] ggplot2_3.3.5   tidyverse_1.3.1

loaded via a namespace …
Run Code Online (Sandbox Code Playgroud)

r tidyverse

9
推荐指数
0
解决办法
2万
查看次数

_CRT_SECURE_NO_WARNINGS 实际上是什么意思?

由于使用该函数,我在 Visual Studio 中收到此 C4996 错误scanf()

事实证明,这个问题的解决方案是将这一行添加_CRT_SECURE_NO_WARNINGS到配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> 编辑。

它完美地解决了问题,但我找不到这个东西的实际含义的正确解释。如果它禁用警告,为什么我的程序首先崩溃了?什么是“CRT”?

崩溃程序的示例:

#include <stdio.h>
main()
{
    int number;
    printf("enter a number\n");
    scanf("%d", &number);
}
Run Code Online (Sandbox Code Playgroud)

以及错误消息: _CRT_SECURE_NO_WARNINGS 错误消息

c warnings visual-studio

8
推荐指数
1
解决办法
6988
查看次数

为什么该标准必须解决除零问题?

我试图理解下面的代码res1之间的区别:res2

#include <iostream>

int main()
{   
    int x = 1;
    int y = 0;
    
    double res1 = double(x)/y;      // OK: evaluates to Inf
    int res2 = x/y;                 // run-time error: Floating point exception
    // 1/0;                         // g++ warning: division by zero [-Wdivision-by-zero]  
    
    std::cout << res1;
    
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

据我了解,除以零是 C++ 标准中未定义的行为,并且res1和之间存在差异的原因res2是由于我的机器为 实现了 IEEE 754 double,它需要除以零才能返回Inf-Inf

但现在我想知道为什么标准必须首先对除以零做出任何声明。这个答案说它是为了适应实现 C++ 的各种不同的体系结构,但我不确定 -除以零不是更多的运行时问题吗?特别是如果编译器在大多数情况下不太可能在不评估分母的情况下检测到它(我认为这就是上面示例中发生的情况)。当然,如果我尝试类似 的操作 …

c++ compiler-construction divide-by-zero

8
推荐指数
1
解决办法
378
查看次数

谷歌支付“交易可能有风险。为了您的安全,目前无法完成”我在这里删除的操作是代码

我正在使用它通过 google pay 获得付款,但在输入 upi 后出现错误:

交易可能有风险。为了您的安全,暂时无法完成

这是我的代码: <a href="upi://pay?pa=gpay-xxxxxx@okbizaxis&amp;pn=Razorpay&amp;tn=thanks for booking&amp;am=6000&amp;cu=INR&amp;mc=5411&amp;tr=1612286108279" onclick="this.href=this.href.split('?')[0]+'/pay?pa=gpay-xxxxxx@okbizaxis&amp;pn=Razorpay&amp;tn=You Won&amp;am=6000&amp;cu=INR&amp;mc=5411&amp;tr='+new Date().getTime()"></a>

google-pay

7
推荐指数
0
解决办法
1273
查看次数

如何将列名作为参数传递给 dplyr 动词的函数?

我不知道为什么从自定义函数传递参数不起作用group_by。我只是传递colName来自数据集的数据,当我运行自己的函数时,会出现错误:必须按 .data 中找到的变量进行分组。未找到列“colName”。在下面的示例中,我使用quakesR 环境中可用的数据集:

foo <- function(data, colName) {
  
  result <- data %>%
   group_by(colName) %>%
   summarise(count = n()) 

  return(result)
}

foo(quakes, "stations")

# I also tried passing w/o commas but it is not working too:
# foo(quakes, stations)
Run Code Online (Sandbox Code Playgroud)

我注意到,当我显式传递列名称时,group_by它会起作用:

group_by(stations) %>%
Run Code Online (Sandbox Code Playgroud)

但是,在函数中对列名称进行硬编码是没有意义的。

r dplyr

7
推荐指数
1
解决办法
978
查看次数

提取运算符“$( )”和非语法名称

假设我有以下列表(注意非语法名称的用法)

list <- list(A  = c(1,2,3),
            `2` = c(7,8,9))
Run Code Online (Sandbox Code Playgroud)

因此,以下两种解析列表的方法有效:

`$`(list,A)
## [1] 1 2 3

`$`(list,`2`)
## [1] 7 8 9
Run Code Online (Sandbox Code Playgroud)

然而,这种方式继续失败。

id <- 2 
`$`(list,id)
## NULL
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么最后一种方法不起作用以及我该如何解决它吗?谢谢。

scope r function list

7
推荐指数
1
解决办法
239
查看次数

为什么我的函数只能使用左值?

我有一个返回小写字符串的函数:

constexpr auto string_to_lower_case(const std::string& string) {
    return string
        | std::views::transform(std::tolower)
        | std::views::transform([](const auto& ascii) { return static_cast<char>(ascii); });
}
Run Code Online (Sandbox Code Playgroud)

我希望当我传递"SOME"or时该函数返回相同的结果const std::string some("SOME"),但事实并非如此。当我尝试打印 的结果时string_to_lower_case("SOME"),我检索到一个空控制台( 的输出string_to_lower_case(some)是正确的)

const std::string some("SOME");
for (const auto& ch : string_to_lower_case(some))
    std::cout << ch;
Run Code Online (Sandbox Code Playgroud)

c++ string rvalue lvalue std-ranges

7
推荐指数
1
解决办法
317
查看次数

为什么 lambda 函数需要在 c++20 中显式捕获 [this] 指针?

在 c++20 之前,this指针以 [=] 隐式捕获。那么,c++20 决定用户应该编写 [=, this] 来显式捕获此指针的原因是什么,我的意思是,如果没有这种更改,c++20 之前的代码可能会有任何代码味道或潜在的错误?

这种语言更改有什么好的示例或原因吗?

c++ lambda this capture c++20

7
推荐指数
1
解决办法
809
查看次数