我正在尝试解决 R 中数据框的问题。我想计算一个新变量以显示NA
我的数据框行中第一个不出现的变量。dput()
我的数据的版本是下一个:
structure(list(ID = c("1387894", "533575", "219918", "734589",
"1182091", "1442171", "880182", "2510982", "1533943", "2306853",
"1300782"), s1 = c("A", "A", NA, NA, NA, NA, NA, NA, NA, NA,
NA), s2 = c("A", NA, "A", "A", NA, NA, "A", "A", "A", NA, NA),
s3 = c("A", NA, "A", "A", "A", NA, "A", "A", "A", NA, NA),
s4 = c("A", NA, "A", "A", "A", "A", "A", "A", "A", NA, NA
), s5 = c("A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A")), .Names = c("ID", "s1", "s2", "s3", "s4", "s5"), row.names = c(NA,
11L), class = "data.frame")
这种形式的数据显示:
ID s1 s2 s3 s4 s5
1387894 A A A A A
533575 A NA NA NA A
219918 NA A A A A
734589 NA A A A A
1182091 NA NA A A A
1442171 NA NA NA A A
880182 NA A A A A
2510982 NA A A A A
1533943 NA A A A A
2306853 NA NA NA NA A
1300782 NA NA NA NA A
考虑到显示第一个位置,第二个位置,...,第五个位置,我想计算一个显示每行中V
第一个不出现的变量。我想得到这样的东西:NA
s1
s2
s5
ID s1 s2 s3 s4 s5 V
1387894 A A A A A 1
533575 A NA NA NA A 1
219918 NA A A A A 2
734589 NA A A A A 2
1182091 NA NA A A A 3
1442171 NA NA NA A A 4
880182 NA A A A A 2
2510982 NA A A A A 2
1533943 NA A A A A 2
2306853 NA NA NA NA A 5
1300782 NA NA NA NA A 5
例如,在最后一行中,您如何看到第一个未出现的NA
是 ins5
并且V
因此具有 5 的值。我不清楚如何使这可能考虑为 col 名称建立索引。谢谢你的帮助。