You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言数据集随机删除3列的代码正确性验证

代码校验结论

你写的代码在当前给定的数据集结构下可以正确实现需求,逻辑是自洽的:

  • 你构造的problem_data列顺序固定:第1列为id,第2到11列刚好对应var1到var10这10个需要抽样的目标变量
  • sample(2:11, 3)是在2~11的列索引范围内无放回随机抽取3个值,抽样范围完全覆盖且仅覆盖10个var列,不会误抽到id列
  • 用-c(rand)做列筛选,会准确移除抽到的3个变量列,最终保留id列和剩下的7个var列,完全匹配「从var1到var10中随机删除3列」的要求。

可选优化建议

当前写法依赖固定列位置,如果你后续调整数据集列顺序、新增其他列,硬编码2:11的索引就可能出现抽样偏差。更鲁棒的写法是直接按列名抽样,不依赖列的排列位置:

# 直接从var1~var10的列名里随机抽3个要删除的列
drop_vars <- sample(paste0("var", 1:10), 3)
problem_data <- problem_data[, !colnames(problem_data) %in% drop_vars]

这种写法不管id列在什么位置、数据集里有没有其他无关列,都只会从指定的10个var列里选3个删除,容错性更高。

内容的提问来源于stack exchange,提问作者stats_noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:54:21