我有一个关于数据预处理的问题需要澄清。据我了解,当我们通过交叉验证调整超参数并估计模型性能时,我们需要在交叉验证中进行,而不是预处理整个数据集。换句话说,在交叉验证中,我们对训练折叠进行预处理,然后使用相同的预处理参数来处理测试折叠并进行预测。
在下面的示例代码中,当我在 caret::train 中指定 preProcess 时,它会自动执行此操作吗?如果有人能澄清我这一点,我真的很感激。
从一些在线资源来看,有些人预处理整个数据集(训练集),然后使用预处理数据通过交叉验证来调整超参数,这似乎不对......
library(caret)
library(mlbench)
data(PimaIndiansDiabetes)
control <- trainControl(method="cv",
number=5,
preProcOptions = list(pcaComp=4))
grid=expand.grid(mtry=c(1,2,3))
model <- train(diabetes~., data=PimaIndiansDiabetes, method="rf",
preProcess=c("scale", "center", "pca"),
trControl=control,
tuneGrid=grid)
Run Code Online (Sandbox Code Playgroud) 我想在一个循环中制作多个ggplot,并在一个绘图上显示它们。
for ( i in 1:8) {
g <- ggplot(data=mtcars, aes(x=hp, y=wt))+
geom_point()
print(g)
}
Run Code Online (Sandbox Code Playgroud)
我想将上面的图安排在一页,四行和两列上。有谁知道这是怎么做到的吗?谢谢。
我正在使用 folium 制作纽约市公寓价格的热图。我正在尝试使用我自己的颜色渐变。当我在热图函数中指定梯度参数时,我的地图上没有任何显示。有谁知道如何在地图上生成我们自己的颜色渐变和理想的渐变条?非常感谢。
这是我的代码:前两列数据是位置。第三列是价格。
data =[[ 40.7726, -73.9568, 1900. ],
[ 40.7785, -73.9556, 3200. ],
[ 40.7216, -73.9809, 5800. ],
[ 40.7384, -73.9848, 2900. ],
[ 40.7678, -73.9915, 3312. ],
[ 40.7659, -73.9574, 2600. ],
[ 40.7092, -74.0137, 4299. ],
[ 40.7384, -73.982 , 5750. ],
[ 40.7312, -73.9896, 3595. ]]
from folium.plugins import HeatMap
hmap = folium.Map(location=[40.75, -73.97], tiles='stamentoner',control_scale = True, zoom_start=13)
hmap.add_child(HeatMap(data, radius = 10, gradient={1000: 'blue', 3000: 'lime', 5000: 'red'}))
hmap
Run Code Online (Sandbox Code Playgroud) I create a dataframe df.
df <- data.frame (id = 1:10,
var1 = 10:19,
var2 = sample(c(1:2,NA), 10, replace=T),
var3 = sample(c(3:5, NA), 10, replace=T))
Run Code Online (Sandbox Code Playgroud)
What I need is a new column var4, which count the number of non-NA values of each row (excluding the id column). So for example, if a row is like var1=19, var2=1, var3=NA, then var4=2. I could not find a good way to do this in dplyr. something like:
df %in% mutate(var4= ... )
Run Code Online (Sandbox Code Playgroud)
I …
我需要在 r 中使用 ggraph 生成一个网络。我想要的是通过权重变量(或节点的大小)调整边缘宽度。有谁知道我该怎么做?多谢。
示例代码如下:
library(ggraph)
library(igraph)
data=data.frame(w1=rep('like', 5),
w2 = c('apple', 'orange', 'pear','peach', 'banana'),
weight= c(2,3,5,8, 15))
data %>%
graph_from_data_frame() %>%
ggraph(layout = "fr") +
geom_edge_link(alpha = .25) +
geom_node_point(color = "blue", size = 2) +
geom_node_text(aes(label = name), repel = TRUE)
Run Code Online (Sandbox Code Playgroud) 在数据表中,我们可以使用参数editable使表可编辑。我正在制作一个闪亮的应用程序,其中的表格既可编辑又可下载。
我的问题是如何在编辑后下载数据表?
这是我的应用程序代码:
library(shiny)
library(DT)
server <- function(input, output) {
df = iris
output$data = DT::renderDataTable ({
DT::datatable(df, editable = list(
target = 'row',
disable = list(columns = c(1, 3, 4))
))
})
output$downloadData <- downloadHandler(
filename = function() {
#paste(input$dataset, ".csv", sep = "")
},
content = function(file) {
write.csv(df, file, row.names = FALSE)
}
)
}
ui <- fluidPage(
DT::dataTableOutput('data'),
downloadButton("downloadData", "Download")
)
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud) 我正在尝试将我闪亮的应用程序放入 docker 容器中。我闪亮的应用程序在我的本地计算机上运行良好。但是在 dockerize 我闪亮的应用程序之后,我的本地主机上总是有错误消息,例如The application failed to start. The application exited during initialization..
我不知道为什么会这样。我是码头工人的新手。运行docker镜像时如何查找错误日志?我需要日志才能知道出了什么问题。
这是我的码头文件:
# Install R version 3.6
FROM r-base:3.6.0
# Install Ubuntu packages
RUN apt-get update && apt-get install -y \
sudo \
gdebi-core \
pandoc \
pandoc-citeproc \
libcurl4-gnutls-dev \
libcairo2-dev/unstable \
libxt-dev \
libssl-dev
# Download and install ShinyServer (latest version)
RUN wget --no-verbose https://s3.amazonaws.com/rstudio-shiny-server-os-build/ubuntu-12.04/x86_64/VERSION -O "version.txt" && \
VERSION=$(cat version.txt) && \
wget --no-verbose "https://s3.amazonaws.com/rstudio-shiny-server-os-build/ubuntu-12.04/x86_64/shiny-server-$VERSION-amd64.deb" -O ss-latest.deb && \
gdebi -n …Run Code Online (Sandbox Code Playgroud) 我有这样的文字:
text = 'I love apple, pear, grape and peach'
Run Code Online (Sandbox Code Playgroud)
如果我想知道文本是否包含apple或pear。我可以执行以下操作并且工作正常:
str_detect(text,"apple|pear")
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我想像这样使用布尔值怎么办(apple OR pear) AND (grape)。无论如何我可以把它放进去str_detect()。那可能吗?以下是不工作:
str_detect(text,"(apple|pear) & (grape)" )
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
我想知道这一点的原因是我想编程以将“布尔查询”转换为grepor str_detect。就像是:
str_detect(text, '(word1|word2) AND (word2|word3|word4) AND (word5|word6) AND .....')
Run Code Online (Sandbox Code Playgroud)
数量AND不一....
请没有多个解决方案str_detect。
我是 Dash 的新手。我想做一个应用程序,我可以从下拉过滤器中选择值,过滤数据集并显示数据表。我正在使用 dash_table。
我的示例应用程序代码如下。没有显示数据表。有谁知道我做错了什么?如何在破折号应用程序中呈现破折号表?
import dash
import dash_html_components as html
import dash_core_components as dcc
import dash_table as dt
from dash.dependencies import Input, Output
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/solar.csv')
app = dash.Dash(__name__)
states = df.State.unique().tolist()
app.layout = html.Div(
children=[
dcc.Dropdown(
id='filter_dropdown',
options=[{'label':st, 'value':st} for st in states],
value = states[0]
),
dt.DataTable(id='table-container') ]
)
@app.callback(
Output('table-container', 'data'),
[Input('filter_dropdown', 'value') ] )
def display_table(state):
dff = df[df.State==state]
return dff
if __name__ == '__main__':
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,有谁知道我在哪里可以找到带有代码的 dash 应用程序库集合?
我想在我的闪亮应用程序中显示一个信息按钮,用户可以单击该按钮,然后弹出一个文本(信息)框,其中包含一些文本。这是为了让用户单击按钮来获取有关我的闪亮应用程序某些部分的一般描述。
由于某种原因,我无法在闪亮或闪亮的仪表板中找到它用于此目的。有谁知道我怎样才能制作按钮?谢谢。