我有一个使用pandas和列标签的DataFrame,我需要编辑它来替换原始列标签.
我想更改A原始列名称所在的DataFrame 中的列名:
['$a', '$b', '$c', '$d', '$e']
Run Code Online (Sandbox Code Playgroud)
至
['a', 'b', 'c', 'd', 'e'].
Run Code Online (Sandbox Code Playgroud)
我将已编辑的列名存储在列表中,但我不知道如何替换列名.
我有以下data.table
set.seed(1)
DT <- data.table(VAL = sample(c(1, 2, 3), 10, replace = TRUE))
VAL
1: 1
2: 2
3: 2
4: 3
5: 1
6: 3
7: 3
8: 2
9: 2
10: 1
Run Code Online (Sandbox Code Playgroud)
在VAL我希望的每个数字内:
最后我想要结果
VAL COUNT IDX
1: 1 3 1
2: 2 4 1
3: 2 4 2
4: 3 3 1
5: 1 3 2
6: 3 3 2
7: 3 3 3
8: 2 4 3
9: 2 4 …Run Code Online (Sandbox Code Playgroud) 我在时间序列中使用lm,实际上运行得非常好,并且它超级超级快.
假设我的模型是:
> formula <- y ~ x
Run Code Online (Sandbox Code Playgroud)
我在训练集上训练这个:
> train <- data.frame( x = seq(1,3), y = c(2,1,4) )
> model <- lm( formula, train )
Run Code Online (Sandbox Code Playgroud)
......我可以预测新数据:
> test <- data.frame( x = seq(4,6) )
> test$y <- predict( model, newdata = test )
> test
x y
1 4 4.333333
2 5 5.333333
3 6 6.333333
Run Code Online (Sandbox Code Playgroud)
这非常好用,而且速度非常快.
我想将滞后变量添加到模型中.现在,我可以通过扩充我原来的训练集来做到这一点:
> train$y_1 <- c(0,train$y[1:nrow(train)-1])
> train
x y y_1
1 1 2 0
2 2 1 2
3 3 4 …Run Code Online (Sandbox Code Playgroud) results = 'asis'Rmarkdown中的块选项允许用户轻松动态创建包括标题的文本.但是,我希望动态创建带有该asis选项的标头,但随后在相同的代码块中插入一些图形.
我能找到的最相关的答案是:以编程方式插入带有R markdown的文本,标题和列表,但这个问题的答案不允许这些动态标题中的动态标题和图表.
这是一个简单的可重复的例子,展示了我能够和不能实现的目标 results = 'asis'
下面的代码完成了我的预期,为每个Species创建一个标头.
---
output: html_document
---
```{r echo = FALSE, results ='asis'}
for(Species in levels(iris$Species)){
cat('#', Species, '\n')
}
```
Run Code Online (Sandbox Code Playgroud)
这里的代码直接放在我想要的地方.理想情况下,下面的代码会为每个Species生成一个标题,每个标题下面都有一个图.相反,它会setosa在输出文件中生成单个标头,然后是三个图.
---
output: html_document
---
```{r echo = FALSE, results ='asis'}
library(ggplot2)
for(Species in levels(iris$Species)){
cat('#', Species, '\n')
p <- ggplot(iris[iris$Species == Species,], aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point()
print(p)
}
```
Run Code Online (Sandbox Code Playgroud)
有没有办法在每个标题下动态生成3个标题?
我需要从函数内部更新回归模型.理想情况下,该功能应该与任何类型的模型(工作lm,glm,multinom,clm).更准确地说,我需要添加一个或几个在函数内定义的协变量.这是一个例子.
MyUpdate <- function(model){
randData <- data.frame(var1=rnorm(length(model$residuals)))
model2 <- update(model, ".~.+randData$var1")
return(model2)
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例用法
data(iris)
model1 <- lm(Sepal.Length~Species, data=iris)
model2 <- MyUpdate(model1)
Run Code Online (Sandbox Code Playgroud)
eval(expr,envir,enclos)出错:找不到对象'randData'
这是glm的另一个例子
model1 <- glm(Sepal.Length>5~Species, data=iris, family=binomial)
model2 <- MyUpdate(model1)
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我正在使用此代码:
mtry <- round(sqrt(18), 0)
gbmGrid <- expand.grid(
interaction.depth = c(1, 2, 3, 4, 5, 6)
, n.trees = seq(10, 10000, by = 100)
, shrinkage = 0.01
, n.minobsinnode = c(5, 10, 20, 30)
, distribution = 'gaussian'
, method = 'gbm'
, mtry = mtry
)
fitControl <- trainControl(
method = "repeatedcv"
, number = 2
, repeats = 3
)
gbmFit1 <- train(
Y ~
X1
+ X2
, data = Train
, trControl = fitControl
, …Run Code Online (Sandbox Code Playgroud) 我正在使用插入符号中的train函数来训练SVM,使用svmRadial内核进行二进制分类任务.
当我在我的数据上运行train函数时,我逐渐得到这些消息
line search fails -2.13865 -0.1759025 1.01927e-05 3.812143e-06 -5.240749e-08 -1.810113e-08 -6.03178e-13line search fails -0.7148131 0.1612894 2.32937e-05 3.518543e-06 -1.821269e-08 -1.37704e-08 -4.726926e-13
代码完成后(编译/运行?)我也收到了以下警告:
> warnings()
Warning messages:
1: In method$predict(modelFit = modelFit, newdata = newdata, ... :
kernlab class prediction calculations failed; returning NAs
2: In method$prob(modelFit = modelFit, newdata = newdata, ... :
kernlab class probability calculations failed; returning NAs
3: In data.frame(..., check.names = FALSE) :
row names were found from a short variable and have been discarded
4: …Run Code Online (Sandbox Code Playgroud) 我是R和RStudio的新手,并且一直在尝试预测建模.以下列车功能在没有并行处理的情况下工作,但是当我实现doSNOW makeCluster时,我得到下面显示的与名为"optimismBoot"的变量相关的错误.我试图找到一个解决方案,尝试安装和卸载软件包,但没有任何作用.有任何见解赞赏.
cl <- makeCluster(2, type = "SOCK")
registerDoSNOW(cl)
caret.cv <- train(ReturnedToMF ~ .,
data = trees.cetstrain,
method = "xgbTree",
tuneGrid = tune.grid,
trControl = cetstrain.control)
Error in e$fun(obj, substitute(ex), parent.frame(), e$data) :
unable to find variable "optimismBoot"
Run Code Online (Sandbox Code Playgroud)
我在这个网站上找到了以下链接,但它并没有提供使并行处理工作的解决方案:Caret on R溢出"无法找到变量"optimismBoot""错误消息
我正在尝试将随机森林模型拟合到我的数据集,并且我想根据 F1 分数选择最佳模型。我在这里看到一篇文章描述了必要的代码。我尝试复制代码,但收到错误
“{ 中的错误:任务 1 失败 -”找不到函数“F1_Score”
当我运行火车功能时。(仅供参考,我试图预测的变量(“通过”)是一个两类因素“失败”和“通过”)
请参阅下面的代码:
library(MLmetrics)
library(caret)
library(doSNOW)
f1 <- function(data, lev = NULL, model = NULL) {
f1_val <- F1_Score(y_pred = data$pred, y_true = data$obs, positive = lev[1])
c(F1 = f1_val)
}
train.control <- trainControl(method = "repeatedcv",
number = 10,
repeats = 3,
classProbs = TRUE,
summaryFunction = f1,
search = "grid")
tune.grid <- expand.grid(.mtry = seq(from = 1, to = 10, by = 1))
cl <- makeCluster(3, type = "SOCK")
registerDoSNOW(cl) …Run Code Online (Sandbox Code Playgroud) 我正在从事 Coursera 机器学习项目。目标是对以下数据集执行预测建模。
> summary(training)
roll_belt pitch_belt yaw_belt total_accel_belt gyros_belt_x
Min. :-28.90 Min. :-55.8000 Min. :-180.00 Min. : 0.00 Min. :-1.040000
1st Qu.: 1.10 1st Qu.: 1.7600 1st Qu.: -88.30 1st Qu.: 3.00 1st Qu.:-0.030000
Median :113.00 Median : 5.2800 Median : -13.00 Median :17.00 Median : 0.030000
Mean : 64.41 Mean : 0.3053 Mean : -11.21 Mean :11.31 Mean :-0.005592
3rd Qu.:123.00 3rd Qu.: 14.9000 3rd Qu.: 12.90 3rd Qu.:18.00 3rd Qu.: 0.110000
Max. :162.00 Max. : 60.3000 Max. …Run Code Online (Sandbox Code Playgroud)