【问题标题】:specifying which numbers to use with as.numeric() function in R指定与 R 中的 as.numeric() 函数一起使用的数字
【发布时间】:2018-05-11 18:05:25
【问题描述】:

我想将具有三个不同字符值的列转换为数字。

专栏很长,但标题是: 是的 不 不 可能是 不 是的

我希望它看起来像这样: 2 1 1 3 1 2

问题是我想指定哪个值会得到哪个数字,重要的是“是”会得到值 2,“否”会得到值 1,而“也许”会得到值 3。

我尝试使用 as.numeric,但它自己决定什么值。

【问题讨论】:

    标签: r dataframe numbers integer character


    【解决方案1】:

    试试这个:

    col=c("Yes", "No", "No", "Maybe", "No", "Yes")
    col<-as.integer(factor(col,levels=c("No","Yes","Maybe")))
    

    当你放置关卡时,你可以随意订购它们

    【讨论】:

      【解决方案2】:

      您也可以以 dplyrish 方式执行此操作。在这种情况下, c 是一个数据框

      c = as.data.frame(c('Yes','No','No','Maybe','No','Yes'))
      
      dplyr::case_when(
      
        c == "Yes" ~ 2,
        c == "No" ~ 1,
        c == "Maybe" ~ 3
      
      )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多