2017-07-06 1 views
0

Herumspielen mit R labbeled verwenden, stieß ich auf dieses wirklich seltsame Verhalten der stack() Funktion:Wie utils :: stack() mit Daten mit Hmisc in R

library(Hmisc) 
df = data_frame(col1=c(1,2,3,4,5,6), col2=c(55,66,88,99,22,33)) 
stack(df) #works like a charm 
label(df$col1)="column 1" 
label(df$col2)="column 2" 
stack(df) #Error in stack.data.frame(df) : no vector column selected 

Ich denke, das durch class(df[1,1)=="numeric" verursacht wird zuerst, aber class(df[1,1)=="labelled", "numeric" endlich.

Gibt es einen sauberen Workaround dafür?

+0

Ich erhalte Fehler mit 'Label (df $ col1) = "Spalte 1" # Fehler in Etikett (df $ col1) = "Spalte 1": Funktion konnte nicht gefunden werden "label <-" ' – akrun

+0

Ok, vergiss, ich wechselte die Basis :: labels und hmisc: label ... noob error! –

Antwort

1

ich endlich Dominic Comtois Antwort here verwendet, um loszuwerden Etiketten zu erhalten:

stack(clear.labels(df)) #works fine