小编mmm*_*mmm的帖子

如何计算R中多列中组内的百分比变化?

我有一个带有ID列的数据框,一个日期列(每个ID 12个月),我有23个数字变量.我希望在每个ID中按月获得百分比变化.我正在使用quantmod包来获得百分比变化.

这是一个只有三列的例子(为简单起见):

ID Date V1 V2 V3
1  Jan   2  3  5
1  Feb   3  4  6
1  Mar   7  8  9
2  Jan   1  1  1
2  Feb   2  3  4
2  Mar   7  8   8
Run Code Online (Sandbox Code Playgroud)

我试图使用dplyr和summarise_each函数,但这是不成功的.更具体地说,我尝试了以下(train是数据集的名称):

library(dplyr)
library(quantmod)

group1<-group_by(train,EXAMID)

foo<-function(x){
  return(Delt(x))
}

summarise_each(group1,funs(foo))
Run Code Online (Sandbox Code Playgroud)

我也尝试在dplyr中使用do函数,但我也没有成功(我猜错了!).

我认为问题是Delt功能.当我用sum函数替换Delt时:

foo<-function(x){
      return(sum(x))
    }
summarise_each(group1,funs(foo))
Run Code Online (Sandbox Code Playgroud)

结果是每个变量在每个ID的日期之间求和.那么每个ID的百分比变化百分比怎么样呢?

r summarization dplyr

16
推荐指数
2
解决办法
1万
查看次数

R 中的 randomForest 算法中 xtest= 和 ytest= 有何作用?

我正在拟合随机森林,并使用以下代码将数据分为训练集和测试集:

train <- sample( 1:nrow(Boston), (nrow(Boston))/2) ) 编辑:在这里,train 显然只是一个索引,因此测试集如下:

testB <- Boston[-train,]; head(test); length(test) 响应变量的名称是 medy,它是第十四列。

我的随机森林也有以下代码(实际上我在这里装袋,因为我的数据集中的变量总数是 13):

bag.boston1 <- randomForest(medv~., data=Boston, subset=train, mtry=13, importance=TRUE, ytest=testB$medv, xtest= )

我对 ytest= 选项的论证正确吗?我这么认为,因为它只是测试数据集中的响应变量。

另外,我应该对 xtest= 选项使用什么参数?

我的一个想法是从测试数据集中消除响应变量,从而创建一个仅测试数据集中的预测变量的数据框,然后我可以让 xtest 参数成为结果 x 矩阵:

`x <- testB`

x[14] <- NULL  # because the 14th column is the response variable

bag.boston1 <- randomForest(medv~., data=Boston, subset=train, mtry=13,
                        importance=TRUE, ytest=testB$medv, xtest=x)
Run Code Online (Sandbox Code Playgroud)

r random-forest

5
推荐指数
1
解决办法
2544
查看次数

什么是R等同于SAS Enterprise Miner Score Node?

SAS Enterprise Miner具有称为"分数代码节点"的东西.此节点将所有先前的代码(即创建新变量,输入缺失值,运行模型等)应用于完全未触及的数据集.除了使用保持样本(即测试数据)之外,我如何在R中执行此操作?

scoring r

5
推荐指数
1
解决办法
611
查看次数

标签 统计

r ×3

dplyr ×1

random-forest ×1

scoring ×1

summarization ×1