r - 随机森林解释变异
问题描述
我有以下数据框。我想知道在比较细菌的位置(分类)和它的 pH 值(数字)时,哪些细菌的贡献更大。
例如,最后我想说的是,在查看温度时,某种细菌类型更常见于某个位置。
Bacillus Lactobacillus Janibacter Brevibacterium Lawsonella Location temperature
Sample1 2 30 164 8 21 48 bedroom 27
Sample2 0 211 0 996 195 108 bedroom 35
Sample3 1 938 1 21 38 43 pool 45
Sample4 0 95 17 1 4 334 pool 10
Sample5 0 192 91 25 1207 1659 soil 14
Sample6 0 12 33 6 12 119 soil 21
Sample7 0 16 3 0 0 805 soil 12
这个想法是运行随机森林来选择那些在查看位置和温度时更重要的特征(细菌)。
随机森林适合这个吗?当我运行 follozinw 命令时,出现以下错误:
randomForest(Location+Temperature ~.,data=mydf)
Error in Location + Temperature : non-numeric argument to binary operator.
从错误看来,我不能同时使用连续变量和分类变量。我怎样才能解决这个问题 ?
例如,将数字温度变量转换为温度范围作为分类变量将是一个解决方案吗?
事实上,我已经尝试过,它通过将数字温度转换为范围并粘贴位置来工作,这样我就有了位置和温度的组合。
randomForest(Location_temperature ~.,data=dat)
我得到了我正在寻找的重要细菌的列表。现在我怎么知道哪一个对一个位置或另一个位置的贡献更大,因为我的模型我使用了所有站点?例如,如何检查您的重要变量(假设芽孢杆菌是随机森林模型中最重要的)在池位置中是否重要(它在池中解释了多少变化)?
希望清楚....
解决方案
推荐阅读
- autosuggest - 如何影响 Here Maps 的自动建议结果
- java - 错误:尝试在空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”
- python - 遍历 url 列表并获取选定的文本
- pyspark - 如何在 Pyspark 函数中引用包含 f 字符串的列?
- jdbc - 如何将 Apache Zeppelin JDBC 解释器限制为仅选择查询
- c++ - 错误:我的 C++ 程序中损坏的大小与 prev_size
- powershell - 如何使用外部文件(如 .txt)中的阻止列表在 Powershell 管道中进行过滤
- ios - 与模拟器相比,dispatchgroup 在 testflight 中以不同的顺序执行任务
- ansible - Ansible - 将 play recap 注册为变量以通过电子邮件或其他形式的通信发送
- ruby - 基于时间的条件查询