当我最近重新阅读Hadley的Advanced R时,我注意到他在第6章中说过`if`可以用作一个函数
`if`(i == 1, print("yes"), print("no"))
(如果你手头有实体书,那就是第80页)
我们知道这ifelse很慢(ifelse每次都会真正计算它的两个向量吗?它是否很慢?)因为它会评估所有参数.将`if`是一个很好的替代品,if似乎只评估TRUE参数(这只是我的假设)?
更新:基于@Benjamin和@Roman的答案以及@Gregor和其他许多人的评论,ifelse似乎是矢量化计算的更好解决方案.我在这里接受@ Benjamin的回答,因为它提供了更全面的比较和社区健康.但是,这两个答案(以及评论)都值得一读.
Kable在Pdf输出上,条带的颜色非常精简.那么有没有办法改变颜色kable_styling(latex_options = "striped")?
想象一下,我们有一个变量名列表,如下所示:
ls<-c("apple.mean", "orange.mean", "orange.sd", "apple.pie.mean", "orange.juice.n", "orange.juice.p%")
Run Code Online (Sandbox Code Playgroud)
我们如何删除每个元素中的最后一部分(在"."之后),以便我们得到:
"apple" "orange" "orange" "apple.pie" "orange.juice" "orange.juice"
Run Code Online (Sandbox Code Playgroud)
请注意,可能有"." 在名称内,但我不希望这些单词被拆分.
我试图使用,gsub("\\..*$", "",ls)但它在第一个点之后省略了所有内容.我不确定为什么$符号在这里不起作用.有任何想法吗?
> gsub("\\..*$", "",ls)
[1] "apple" "orange" "orange" "apple" "orange" "orange"
Run Code Online (Sandbox Code Playgroud) 包rgl包含一个非常有用的函数ellipse3d,它可以返回一个覆盖 3D 中 95% 的点的椭球体。然后可以使用该对象来rgl::plot3d绘制它。我的问题是,是否可以将 的输出转换ellipse3d为可以通过 js 绘图包(如plotly)绘制的内容?
library(rgl)
dt <- cbind(x = rnorm(100), y = rnorm(100), z = rnorm(100))
ellipse <- ellipse3d(cov(dt))
plot3d(dt)
plot3d(ellipse, add = T, color = "red", alpha = 0.5)
Run Code Online (Sandbox Code Playgroud)
那么我该怎么做才能通过绘图绘制椭球体呢?
我有一个数据框:
test_df <- data.frame(
x = c(rep("a", 5), rep("b", 5)),
y = c(1, 2, NA, 2, 3, NA, 1, 2, 3, 1)
)
Run Code Online (Sandbox Code Playgroud)
我希望通过第x列中的分组信息删除y == 2 之后的所有行.有没有办法做到这一点dplyr?
我想要的结果来自:
x y
1 a 1
2 a 2
3 a NA
4 a 2
5 a 3
6 b NA
7 b 1
8 b 2
9 b 3
10 b 1
Run Code Online (Sandbox Code Playgroud)
至
x y
1 a 1
2 a 2
6 b NA
7 b 1
8 b …Run Code Online (Sandbox Code Playgroud) 对不起,如果存在此问题.说我有一个矢量
value <- c("A", "A", "B", "C", "D", "A", "A", "B", "C", "D")
Run Code Online (Sandbox Code Playgroud)
我想计算每个位置的每个唯一值的数量,这样我就可以得到一个结果
c(1, 2, 1, 1, 1, 3, 4, 2, 2, 2)
Run Code Online (Sandbox Code Playgroud)
在R中有快速的方法吗?
r ×6
benchmarking ×1
dplyr ×1
gsub ×1
if-statement ×1
kableextra ×1
performance ×1
plotly ×1
r-markdown ×1
r-plotly ×1
regex ×1
rgl ×1