【发布时间】:2016-02-24 23:38:56
【问题描述】:
我的数据包含四个字段:ID、x1(数字)、x2(数字)和x3(因子)。某些 ID 有多个记录,并且缺少 x3 的某些值 (NA)。这是一个示例
ID <- c(1,1,1,1,2,2,3,3,3,3,4,4,4,5,6,6)
x1 <- rnorm(16,0,1)
x2 <- rnorm(16,2,2)
x3 <- c("a", "a", "a", NA, "b", "b", "c", "c", "a", "c", "w", "w", "w", "y", NA, NA)
df <- data.frame(ID, x1, x2, x3)
我想创建一个新字段(我们称之为unqind)来检查每个ID 是否具有x3 的唯一值。
例如,ID=1 有四个观察值 x3 ("a", "a", "a", NA) ... 三个“a”和一个 NA。因此unqind=0。
ID=2 有两个观测值 x3 (2 "b"s)...因此,unqind=1。
如果x3 的所有值都是NAs 每个ID,那么unqind=1。
创建unqind 后,df 看起来像:
ID x1 x2 x3 unqind
1 0.9087691 4.4353865 a 0
1 0.3686852 2.5851186 a 0
1 -1.335171 1.18109 a 0
1 -0.1596629 0.593775 NA 0
2 0.4841148 0.1684549 b 1
2 0.1256352 4.2785666 b 1
3 -0.954508 3.1284599 c 0
3 0.3502183 2.4766285 c 0
3 -1.2365438 1.041901 a 0
3 0.9786498 -0.6517521 c 0
4 1.3426399 1.5733424 w 1
4 -0.3117586 -0.4648479 w 1
4 0.136769 -2.6124866 w 1
5 -1.3295984 6.2783164 y 1
6 -1.1989125 -1.7025381 NA 1
6 -0.8936165 2.3131387 NA 1
【问题讨论】:
标签: r