R data.frame具有0值

时间:2016-05-28 13:05:02

标签: r

我的pos_TAT数据框包含7行,但最后一行仅在我执行摘要时出现,因为它的值为0.

summary(pos_TAT)
Delayed$position.type  Delayed$TAT   
            JF     :1
           S20     :1
           S40     :1
           S60     :1
      Specials     :1
           S70     :1   
         14-19     :0



pos_TAT
  Delayed$position.type Delayed$TAT
1                    JF    45.10965
2                   S20    44.37831
3                   S40    44.18750
4                   S60    45.40698
5              Specials    43.30079
6                   S70    42.44444    

如果我想添加一个带有计数的列,那就会产生问题,因为它告诉我有不同数量的行6,7。

我花了好几个小时研究这个问题,但找不到答案。 谢谢。

1 个答案:

答案 0 :(得分:2)

如果数据集中的factor列有未使用的级别,则可以执行此操作。要么将列转换为character,要么我们需要将其保留为factor类,然后使用droplevels或再次致电factor

df2 <- droplevels(pos_TAT)

或者

df2 <- transform(pos_TAT, Delayed$position.type= as.character(Delayed$position.type))

如{OP}所示,summary也会给出未使用的等级

summary(pos_TAT[1])
# Delayed$position.type
# JF      :1           
# S20     :1           
# S40     :1           
# S60     :1           
# Specials:1           
# S70     :1           
# 14-19   :0      

数据

pos_TAT <- structure(list(`Delayed$position.type` = structure(1:6, .Label = c("JF", 
"S20", "S40", "S60", "Specials", "S70", "14-19"), class = "factor"), 
Delayed.TAT = c(45.10965, 44.37831, 44.1875, 45.40698, 43.30079, 
42.44444)), .Names = c("Delayed$position.type", "Delayed.TAT"
), row.names = c("1", "2", "3", "4", "5", "6"), class = "data.frame")