gpt4 book ai didi

r - 对 R 中的因子使用 ifelse

转载 作者:行者123 更新时间:2023-12-04 17:38:16 24 4
gpt4 key购买 nike

我正在重组物种名称数据集。当可用时,它有一个带有拉丁名称的列和带有琐碎名称的列。我想制作第三列,在可用时给出简单的名称,否则为拉丁名称。平凡名称和拉丁名称都属于因子类。
我试过一个 if 循环:

  if(art2$trivname==""){  
art2$artname=trivname
}else{
art2$artname=latname
}

它给了我正确的trivnames,但在提供拉丁名字时只给NA。
当我使用 ifelse 时,我只能得到数字。

一如既往,感谢所有帮助:)

最佳答案

例子:

art <- data.frame(trivname = c("cat", "", "deer"), latname = c("cattus", "canis", "cervus"))
art$artname <- with(art, ifelse(trivname == "", as.character(latname), as.character(trivname)))
print(art)
# trivname latname artname
# 1 cat cattus cat
# 2 canis canis
# 3 deer cervus deer

(我认为 options(stringsAsFactors = FALSE) 作为默认值对大多数人来说会更容易,但是你去......)

关于r - 对 R 中的因子使用 ifelse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11275120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com