r - 将数据集的列作为函数参数中的变量与数据集一起传递
问题描述
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 它似乎不起作用
关于如何处理列名并解决我的问题的建议将不胜感激
解决方案
推荐阅读
- python - 尝试在 Python Pandas 中实现 join / vlookup(更新)
- c# - 可以进一步改进此代码以连接地址吗?
- python - Python - Pandas,每周拆分时间序列数据帧
- laravel - 运行 Laravel docker 镜像并暴露端口 -p
- wordpress - 在生产中优化 WooCommerce 网站
- javascript - 简化 Javascript - 这是数组的情况吗?
- mysql - 在 Node 中向 DB 插入记录时重新抛出非 MySQL 错误
- apache-spark - dataproc 集群 (PySpark) 中的 Jupyter NB 单元现在执行了一个多小时,我如何检查作业是否正在运行?
- mysql - MySQL:索引可能包含非 JSON 数据的 JSON 数组列
- sql - 使用 SQL 跨多个字段对输出进行分组