我正在创建一个新列,查看数据框中的条件,并提醒我是否需要调查或监控问题。添加列的代码如下所示:
library(dplyr)
df %>%
mutate("Status" =
ifelse(apply(.[2:7], 1, sum) > 0 & .[8] > 0, "Investigate",
"Monitor"
)
)
如果我在这个新生成的列上运行命令class(df$Status)
,则该类被列为“矩阵”。什么?为什么不将它列为“字符”。
如果我看一下我的数据框架的结构,可能是关键的一些奇怪,但我不明白为什么。请注意,列出的第一列看起来只是整数,然后列出的第三列,即相同的数据,具有所有这些'attr'措辞。发生了什么事?
$ 2017-08 : int NA 1 NA 1 1 2 NA NA NA NA ...
$ 2017-09 : int NA NA 1 NA NA NA NA NA NA NA ...
$ 2017-10 : int NA NA NA NA NA NA 1 NA NA NA ...
- attr(*, "vars")= chr "Material"
- attr(*, "drop")= logi TRUE
- attr(*, "indices")=List of 34
..$ : int 0
..$ : int 1
..$ : int 2
..$ : int 3
..$ : int 4
...continued...
- attr(*, "group_sizes")= int 1 1 1 1 1 1 1 1 1 1 ...
- attr(*, "biggest_group_size")= int 1
- attr(*, "labels")='data.frame': 34 obs. of 1 variable:
我之前对变量进行了分组,有时候对于魔术上的分组有帮助。此外,我经常需要将元数据转换回数据帧以使其他例程在我的代码中工作。这可能与也可能没有关系。