r - paste not returning values concatenated -
i trying column names of dataframe use them in call, apply call returns values separated, instead of concatenated correctly. did wrong here?
df<-data.frame(c(1,2,3),c(4,5,6)) colnames(df)<-c("hi","bye") apply(df,2,function(x){ paste("subscale_scores$",colnames(x),sep="") #this command trying run #lm(paste("subscale_scores",colnames(x))~surveys$npitotal+ipip$extraversion+ipip$agreeableness+ipip$conscientiousness+ipip$emotionalstability+ipip$intelimagination) }) goal output:
subscale_scores$hi subscale_scores$bye
is there need apply?
is mean?
paste0('subscale_scores$', names(df)) # [1] "subscale_scores$hi" "subscale_scores$bye" if need them concatenated newline say, add , sep='\n'.
the paste0 shorthand paste(..., sep="").
a note on lm call later - if want lm(y ~ ...) y each of columns separately, try:
lms <- lapply(colnames(df), function (y) { # construct formula frm <- paste0('subscale_scores$', y, ' ~ surveys$npitotal+ipip$extraversion+ipip$agreeableness+ipip$conscientiousness+ipip$emotionalstability+ipip$intelimagination') lm(frm) }) names(lms) <- colnames(df) then lms$hi contain output of lm(subscale_scores$hi ~ ...) , on.
or if aim combine columns (y1 + y2 ~ ...)
then paste0('subscale_scores$', names(df), collapse='+') give subscale_scores$hi+subscale_scores$bye
Comments
Post a Comment