这个错误是因为你在尝试从一个数据框中选择一个不存在的列。可能是因为你在代码中拼写错误,或者是因为你的数据框中确实没有这个列。你需要检查一下你的数据框中是否存在这些列,并确保你的代码中正确地引用了它们。

常见原因:

  • 拼写错误: 检查代码中列名的拼写是否与数据框中列名完全一致。
  • 数据框中不存在该列: 使用 names(data)colnames(data) 查看数据框中所有列的名称,确保代码中引用的列名存在。
  • 数据框的名称错误: 确认代码中使用的数据框名称是否与实际数据框名称一致。

解决方案:

  1. 检查拼写: 仔细检查代码中列名的拼写,确保与数据框中列名完全一致。
  2. 查看数据框列名: 使用 names(data)colnames(data) 查看数据框中所有列的名称,确认代码中引用的列名存在。
  3. 检查数据框名称: 确认代码中使用的数据框名称是否与实际数据框名称一致。
  4. 打印数据框: 使用 print(data) 打印数据框,查看数据框的结构,确定列名是否正确。

示例:

# 原始代码
data[data$StageName == 'sowing', c('sw(1)', 'sw(2)')]

# 问题:代码中列名 'sw(1)' 和 'sw(2)' 可能不存在

# 解决方法
# 检查数据框中是否存在这些列
names(data)

# 确认数据框名称是否正确
print(data)

# 更改代码中列名
data[data$StageName == 'sowing', c('SW1', 'SW2')]

通过以上步骤,你可以有效地解决 'Error in [.data.frame(data, data$StageName == "sowing", c("sw(1)", "sw(2)")) : 选择了未定义的列' 错误。

R语言报错:'Error in `[.data.frame`(data, data$StageName ==

原文地址: https://www.cveoy.top/t/topic/od8w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录