首页 > 解决方案 > 将数据集的列作为函数参数中的变量与数据集一起传递

问题描述

randForest=function(s,d)
{
  t=d$s
  mydata=d
  t=as.factor(t)
  index=sample(1:nrow(mydata),size=nrow(mydata)*0.8,replace=FALSE)
  training=mydata[index,]
  a=data.frame(training)
  testing=mydata[-index,]
  b=data.frame(testing)
  tv=training$t
  rf=randomForest(t~.,data=a,mtry=4,ntree=2001,importance=TRUE)
  print(rf)
}

图书馆(随机森林)

所以我正在创建一个函数,它接受传递的数据集的列名作为参数,然后我将数据拆分为训练和测试集,并将其与训练和测试数据集(如 train$s)一起使用,但不知何故我不知道如何要做到这一点

调用函数为

randForest(身体质量指数,mydata)

它给出了体重指数对象未找到

它工作的唯一方法就是这样称呼它

randForest(mydata$'Body mass index',mydata)

但是我再次不能使用第一个参数来访问火车或测试数据集的同一列,即使我将它存储为 tv=mydata$'Body mass index' 然后输入 training$tv 它似乎不起作用

关于如何处理列名并解决我的问题的建议将不胜感激

标签: rfunction

解决方案


推荐阅读