因此,此代码Bone根据因子的值填充向量的值bonegrp.我想以更简洁的方式实现这一目标.
谢谢!
v <- dat$bonegrp=="Bone2"
Bone[v] <- "Gast 1"
v <- dat$Bonegrp=="Bone3"
Bone[v] <- "Gast 2"
v <- dat$Bonegrp=="Bone4"
Bone[v] <- "Vert1"
v <- dat$Bonegrp=="Bone5"
Bone[v] <- "Vert2"
v <- dat$Bonegrp=="Bone6"
Bone[v] <- "Femur"
v <- dat$Bonegrp=="Bone7"
Bone[v] <- "Tibia"
v <- dat$Bonegrp=="Bone8"
Bone[v] <- "Meta."
v <- dat$Bonegrp=="Bone9"
Bone[v] <- "Phal."
v <- dat$Bonegrp=="Bone10"
Bone[v] <- "PCau."
v <- dat$Bonegrp=="Bone11"
Bone[v] <- "MCau."
v <- dat$Bonegrp=="Bone12"
Bone[v] <- "DCau.
Run Code Online (Sandbox Code Playgroud)
如果Bonegrp中只有12个级别,那么您可以看到它是否有效(根据有关数据结构的其他信息进行编辑):
Bone <- c(NA, "Gast 1", "Gast 2", "Vert1", "Vert2", "Femur","Tibia", "Meta.",
"Phal.", "PCau.", "MCau.", "DCau.")[as.numeric(dat$Bonegrp)]
Run Code Online (Sandbox Code Playgroud)
它基本上是使用一个向量,并根据Bonegrp的数字等价物查找正确的字符串.您真的应该提供有关您的数据的更多信息.刚刚提供的代码通常是不够的.