当计算class = case_in R时,问题怎么解决呢?

dced5bon  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(98)

下面是我的数据集的dput(head(temp))
第一个
这就是我想通过的:

temp <- temp %>% mutate(class = dplyr::case_when(gini.total >= 0.5 & gini.dom >= 0.5 & species == "single" ~ "single species irregular",
                                    gini.total >= 0.5 & gini.dom < 0.5 & species == "single" ~ "single species admixture",
                                    gini.total >= 0.5 & gini.dom >= 0.5 & species == "multiple" ~ "multiple species irregular",
                                    gini.total >= 0.5 & gini.dom < 0.5 & species == "multiple" ~ "multiple species layered",
                                    gini.total < 0.5  & species == "single" ~ "single species regular",
                                    gini.total < 0.5  & species == "multiple" ~ "multiple species regular", TRUE ~ NA_real_))

而我只是得到这个错误,它没有解释它发生的位置和原因:

Error in `mutate()`:
! Problem while computing `class = dplyr::case_when(...)`.
Caused by error in `dplyr::case_when

有人知道我做错了什么吗?

093gszye

093gszye1#

尝试将NA_real_更改为NA_character_。错误消息应该是这样的:“无法在该列中混合真实的和CHARACTER。”

temp %>% 
  mutate(class = 
    case_when(gini.total >= 0.5 & gini.dom >= 0.5 & species == "single" ~ 
      "single species irregular", 
    gini.total >= 0.5 & gini.dom < 0.5 & species == "single" ~ 
      "single species admixture", 
    gini.total >= 0.5 & gini.dom >= 0.5 & species == "multiple" ~ 
       "multiple species irregular", 
    gini.total >= 0.5 & gini.dom < 0.5 & species == "multiple" ~ 
       "multiple species layered", 
    gini.total < 0.5  & species == "single" ~ 
       "single species regular", 
    gini.total < 0.5  & species == "multiple" ~ 
       "multiple species regular", TRUE ~ NA_character_))
    X database.code tmt.plot.id dom.species shr.of.ba gini.total
1 CZL        CZL.BB       Picea       abies  57.88029  0.6782420
2 CZL        CZL.CA  long-lived broadleaves  70.35056  0.6553011
3 CZL        CZL.EU       Picea       abies 100.00000  0.0000000
4 CZL        CZL.RN  long-lived broadleaves  85.16742  0.6493601
5 CZL        CZL.SL       Fagus   sylvatica  65.68771  0.6144469
6 FNR     FNR.10_10  long-lived broadleaves  11.24247  0.4811145
  gini.ctgr.total  gini.dom gini.ctgr.dom  species latitude  longitude
1               2 0.5821508             2 multiple 48.97861 13.8119444
2               2 0.5511097             2 multiple 48.65528 16.9422222
3               1 0.5555176             2   single 50.06833 17.2622222
4               2 0.6287997             2   single 48.67861 16.9488889
5               2 0.6425109             2 multiple 49.40194 18.4213889
6               1 0.2670409             1 multiple 46.13386 -0.4346595
                       class
1 multiple species irregular
2 multiple species irregular
3     single species regular
4   single species irregular
5 multiple species irregular
6   multiple species regular

相关问题