【问题标题】:Conditional Density Plot using 2 level factor variable使用 2 个水平因子变量的条件密度图
【发布时间】:2017-12-04 03:03:16
【问题描述】:

我正在尝试使用 2 水平因子变量绘制条件密度图。这个变量最初是一个 3 级因子变量,但我只使用 3 个因子级别中的 2 个构建了我的数据框 (microtus.train)。当我绘制条件密度图时,“y 轴”中的因子水平显示为“未知”,这是我在构建“microtus.train”时排除的水平。请看下面的情节。

我不知道为什么它仍然存在。有人可以指导我如何解决这个问题吗?修复后,我应该在 y 轴上看到“multiplex”和“subterraneus”作为标签。

我的代码如下:

library(Flury)
data(microtus, package = "Flury")

# Creating training data frame
microtus.train <- subset(microtus, 
  microtus$Group %in% c("multiplex", "subterraneus"), 
  select = c("Group", "M1Left", "M2Left", "M3Left", "Foramen", "Pbone",
             "Length", "Height", "Rostrum") )
# Plot Conditional Density plot of Group given M1Left
cdplot (Group ~ M1Left, data = microtus.train)

提前谢谢你!

【问题讨论】:

    标签: r plot


    【解决方案1】:

    您已经删除了与Group 的第三个级别对应的行,但是,Group 列仍被编码为具有三个级别的因子(数据中现在只有两个),出现混淆cdplot 函数。使用droplevels 删除空级别。

    str(microtus.train$Group)
    
    Factor w/ 3 levels "multiplex","subterraneus",..: 1 1 1 1 1 1 1 1 1 1 ...
    
    microtus.train$Group = droplevels(microtus.train$Group)
    str(microtus.train$Group)
    
    Factor w/ 2 levels "multiplex","subterraneus": 1 1 1 1 1 1 1 1 1 1 ...
    
    # Plot Conditional Density plot of Group given M1Left
    cdplot (Group ~ M1Left, data = microtus.train)
    

    【讨论】:

      猜你喜欢
      • 2023-01-09
      • 1970-01-01
      • 2015-10-04
      • 2013-10-08
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多