डमी वैरिएबल को वापस एक कारक में पतन करने के लिए एक कुशल तरीका (गैर-बेस पैकेज का स्वागत किया गया कोई समाधान) क्या है।कुशल संकुचित डमी चर
race.White race.Hispanic race.Black race.Asian
1 1 0 0 0
2 0 0 0 1
3 1 0 0 0
4 0 0 1 0
5 0 0 0 1
6 0 1 0 0
7 1 0 0 0
8 1 0 0 0
9 1 0 0 0
10 0 0 1 0
वांछित उत्पादन:
race
1 White
2 Asian
3 White
4 Black
5 Asian
6 Hispanic
7 White
8 White
9 White
10 Black
डाटा:
dat <- structure(list(race.White = c(1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L,
1L, 0L), race.Hispanic = c(0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L,
0L), race.Black = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L),
race.Asian = c(0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L)), .Names = c("race.White",
"race.Hispanic", "race.Black", "race.Asian"), row.names = c(NA,
-10L), class = "data.frame")
मैं क्या करने की कोशिश की:
यह एक संभव समाधान है, लेकिन मैं वहाँ एक बेहतर अनुक्रमण/dplyr यकीन है/डेटा.table/.etc समाधान।
apply(dat, 1, function(x) sub("[^.]+\\.", "", colnames(dat))[x])