【发布时间】:2021-06-07 09:09:35
【问题描述】:
假设我们有以下数据集:
Lines <- "id time sex Age
1 1 male 90
1 2 male 91
1 3 male 92
2 1 female 87
2 2 female 88
2 3 female 89
3 1 male 50
3 2 male 51
3 3 male 52
4 1 female 54
4 2 female 55
4 3 female 56"
dat <- read.table(text = Lines, header = TRUE)
我想创建一个函数来扫描数据集中除 id 和 time 之外的所有列,并检索一个字符串,其中提到哪些变量不是时不变的(每个时间段都变化)。在此示例中,它将是 Age。
【问题讨论】:
-
大概是在id里面吧?那么一个在 id 内演化的变量呢,比如 1, 2, 1?即,其中不同值的数量不等于时间段的数量?您希望如何处理缺失值:它们是“计数”还是应该被忽略?
-
这是否等同于计算按时间分组的方差(或 sd)?然后 'aggregate()' 和 'FUN=sd' 和 'by=list(dat$time)' 应该可以解决问题:只需查看 sd 为零的位置。
标签: r dataframe function group-by