我有一个包含 10 个数字变量和一个因子的数据框 (train3)。
我想使用包中的rfsrc函数制作一个随机森林分类器 randomForestSRC。
数据如下所示:
summary(train3)
roll_belt pitch_belt yaw_belt total_accel_belt gyros_belt_x gyros_belt_y
Min. :-28.90 Min. :-55.8000 Min. :-180.00 Min. : 0.00 Min. :-1.040000 Min. :-0.64000
1st Qu.: 1.10 1st Qu.: 1.7600 1st Qu.: -88.30 1st Qu.: 3.00 1st Qu.:-0.030000 1st Qu.: 0.00000
Median :113.00 Median : 5.2800 Median : -13.00 Median :17.00 Median : 0.030000 Median : 0.02000
Mean : 64.41 Mean : 0.3053 Mean : -11.21 Mean :11.31 Mean :-0.005592 Mean : 0.03959
3rd …Run Code Online (Sandbox Code Playgroud) 当我打印结果时,我在结果3列数据框中有一些数据,我看到:
results
TIMESTAMP SYMBOL_NAME "t.price"
1 2014-10-17 14:00:00 GOOG 400.25
Run Code Online (Sandbox Code Playgroud)
注意t.price列周围的""
当我去访问t.price列时,它返回null.
results$t.Price
NULL
Run Code Online (Sandbox Code Playgroud)
当我做
names(results)
Run Code Online (Sandbox Code Playgroud)
我知道了
[1] "TIMESTAMP" "SYMBOL_NAME" "\"t.PRICE\""
Run Code Online (Sandbox Code Playgroud)
你能告诉我发生了什么以及""出现的原因或我如何获得t.price?
我有一些问题让我的ggplot alpha对我的情节来说足够黑暗.
示例代码:
ggplot(mtcars, aes(x=mpg, color=factor(gear), alpha=factor(carb))) + stat_ecdf()
Run Code Online (Sandbox Code Playgroud)

如您所见,无论何时carb == 1,都很难看到情节元素.在我的真实世界数据集中,颜色因子有四个级别,而alpha因子有两个级别.我希望alpha的颜色略浅一些,但比那个例子中的颜色更明显.
如何stationarity从fractal packageR中进行测试,不将任何输出打印到屏幕上.
例如,shapiro.wilk在将结果设置为变量时进行测试时,它不会给出任何输出,如下所示
lg.day.ret.vec <- rnorm(100, mean = 5, sd = 3)
shap.p <- shapiro.test(lg.day.ret.vec)$p.value
Run Code Online (Sandbox Code Playgroud)
这是大多数测试的情况,但是当我为stationarity测试做这个时,我在r控制台中获得了一些输出.
library(fractal)
stat.p <- attr(stationarity(lg.day.ret.vec),"pvals")[1]
1
2
3
4
5
6
N = 2609, nblock = 11, n_block_max = 238, dt = 1.0000
7
8
9
10
11
12
13
14
15
16
17
18
Run Code Online (Sandbox Code Playgroud) 我想限制绘图的可见y范围。为了保留超出此范围的值,我需要设置oob(超出范围),rescale_none并且效果很好。
但是,我还要在情节外的空白处添加一些文本。为此,我需要关闭剪辑。这样的结果是,超出界限的值在边距的绘图区域之外绘制。
无论如何,是否在页边距中绘制文本并裁剪值以绘制区域?
# Data
set.seed(1)
df <- data.frame( x=1:100,y=rnorm(100,mean=1,sd=1) )
# Basic plot
library(ggplot2)
library(scales)
library(grid)
g <- ggplot(df)+
geom_line(aes(x,y))
# Values exceeding scale limits are dropped
g1 <- g + scale_y_continuous( limits = c(0,2) )
Run Code Online (Sandbox Code Playgroud)

# This is what I want
g2 <- g + scale_y_continuous( limits = c(0,2) , oob = rescale_none )
Run Code Online (Sandbox Code Playgroud)

# ...But, I would like to plot some text outside the plotting region
# and need …Run Code Online (Sandbox Code Playgroud) I\xc2\xb4m 尝试在页面中排列 4 个图,将图例放在底部中心
\n\n我用它来获取其中一个图的图例(因为它们对于四个图来说是相同的)
\n\n get_legend<-function(myggplot){\n tmp <- ggplot_gtable(ggplot_build(myggplot))\n leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")\n legend <- tmp$grobs[[leg]]\n return(legend)\n }\nRun Code Online (Sandbox Code Playgroud)\n\n然后,我从任何情节中得到图例
\n\n legend <- get_legend(p2)\nRun Code Online (Sandbox Code Playgroud)\n\n所以对于我使用的图:
\n\n tt <-grid.arrange(arrangeGrob(p6, p7, p8, p9, legend,\n nrow = 2, #\n left = textGrob("Mammalian species richness", rot = 90, vjust = 1, \n gp = gpar(fontsize = 12))))\nRun Code Online (Sandbox Code Playgroud)\n\n但我\xc2\xb4得到的是这样的:
\n\n\n\n如何将图例移动到中心按钮并具有 2 行 2 列? \ncommands nrow,ncol没有工作,因为我收到了错误消息,也没有类似的东西
tt <- tt + theme(legend.position ="bottom"). …Run Code Online (Sandbox Code Playgroud) 我想计算无向网络中唯一边的数量,例如 net
x y
1 A B
2 B A
3 A B
Run Code Online (Sandbox Code Playgroud)
这个矩阵应该只有一个唯一的边,因为边 AB 和 BA 对于无向网络是相同的。
对于有向网络,我可以通过以下方式获得唯一边的数量:
nrow(唯一的(net[,c("x","y"]))
但这不适用于无向网络。
加载后,WebGL 点在平移或缩放之前是不可见的。如何使它们在加载时立即可见?
加载后没有点出现:
出现平移或缩放点后:
下面的代码可以粘贴到 Rmd 中并进行编织:
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup, include=TRUE}
library(flexdashboard)
library(leaflet)
library(leafgl)
library(sf)
n = 100
df1 = data.frame(id = 1:n,
x = rnorm(n, 10, 3),
y = rnorm(n, 49, 1.8))
pts = st_as_sf(df1, coords = c("x", "y"), crs = 4326)
leaflet() %>%
addProviderTiles(provider = providers$CartoDB.DarkMatter) %>%
addGlPoints(data = pts, group = "pts") %>%
setView(lng = 10.5, lat = 49.5, zoom = 6)
```
Run Code Online (Sandbox Code Playgroud)
最后,我的会话信息:
> sessionInfo()
R version …Run Code Online (Sandbox Code Playgroud) 所以我有一个功课问题,我真的很难在R中编码.
这就是问题:编写一个函数difference(),它将一个向量X作为参数,并返回每个元素和下一个元素之间差异的向量:
X[2]-X[1], X[3]-X[2], X[4]-X[3]等.
因此difference(c(5,2,9,4,8))会回来c(-3,7,-5,4)
到目前为止我有这个:
difference<-function(X) {
for (i in X)
X.val<-X[i]-X[i-1]
return(X.val)
}
difference(c(5,2,9,4,8))
Run Code Online (Sandbox Code Playgroud)
我似乎无法让函数减去它X[2]-X[1],它返回的数字比我运行函数时应该多一个.谁能帮我?
有没有办法增加tableGrob项目中列名的单元格?
library(grid)
d <- head(iris, 3)
g <- tableGrob(d)
grid.newpage()
grid.draw(g)
Run Code Online (Sandbox Code Playgroud)
默认:
任何帮助深表感谢。