【问题标题】:Data manipulation and subsetting in RR中的数据操作和子集化
【发布时间】:2014-07-24 09:01:59
【问题描述】:

数据框 tab1 中的一列如下:

PossessionPct
51
49
42.7
57.3
54
46
57.5
42.5
55.6
44.4
60.6
39.4
51
40.2

如何从该列中提取数据并根据值将数据分类为 GOOD 、 MEDIUM 和 BAD?

【问题讨论】:

  • 如果没有任何因素的说明,那是不可能的。
  • @user3867198。请使用预期输出的格式进行更新。

标签: r subset


【解决方案1】:

另一种方法(将值替换为您自己的好/中/坏阈值。

with(tab1, ifelse(PossessionPct < 45, "Good", 
                  ifelse(PossessionPct > 50, "Bad", "Medium")))

【讨论】:

    【解决方案2】:
     dat <- structure(list(PossessionPct = c(51, 49, 42.7, 57.3, 54, 46, 
     57.5, 42.5, 55.6, 44.4, 60.6, 39.4, 51, 40.2)), .Names = "PossessionPct", row.names = c(NA, 
     -14L), class = "data.frame")
    
     dat$Group <- with(dat, cut(PossessionPct, breaks=c(-Inf,41,51,61),
                      labels=c("Good","Medium", "Bad")))
    
     split(dat,dat$Group)
    

    【讨论】:

    • @beginneR:我必须将它们分成三个单独的列——良好的中型,不良的表中。
    • @user3867198, 1. 您应该在问题中明确说明,而不是在 cmets 中,以及 2. 为您的示例数据显示所需的输出。
    • @user3867198。如果长度大小不一,最好分割成list
    猜你喜欢
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多