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

如何用while循环将iris数据集品种名替换为双字母标识?

用while循环替换iris数据集的品种名称并处理数值列

完整实现代码

data(iris)
Burak <- iris  # 保留原始数据副本
running_index <- 1

# 遍历数值列并为每个数值加50
while(is.numeric(Burak[, running_index])) {
  Burak[, running_index] <- Burak[, running_index] + 50
  running_index <- running_index + 1
}

# 通过while循环替换品种名称
row_index <- 1
total_rows <- nrow(Burak)

while(row_index <= total_rows) {
  current_species <- Burak[row_index, running_index]
  if(current_species == "setosa") {
    Burak[row_index, running_index] <- "AA"
  } else if(current_species == "versicolor") {
    Burak[row_index, running_index] <- "BB"
  } else if(current_species == "virginica") {
    Burak[row_index, running_index] <- "CC"
  }
  row_index <- row_index + 1
}

# 查看替换后的结果
head(Burak)

代码说明

  • 先将原始iris数据复制到Burak变量,避免修改原数据集
  • 第一个while循环沿用原有逻辑:遍历所有数值列,为每个数值加50,直到遇到非数值列(即Species列)时停止,此时running_index会指向Species列的位置
  • 第二个while循环逐行遍历Species列,根据当前品种名称替换为对应的AA/BB/CC
  • 执行head(Burak)可以查看前6行数据,验证替换是否成功

内容的提问来源于stack exchange,提问作者Halil Burak Yıldırım

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:55:23