Функция возврата в цикле For в R - PullRequest
1 голос
/ 29 сентября 2019

У меня есть датафрейм df.Я пытаюсь выполнить для цикла, чтобы вернуть уровни всех факторов.Я пытался с приведенным ниже кодом, но не выполняется

df <- structure(list(ColA = structure(c(19L, 3L, 12L, 21L), .Label = c("asgfg", 
"dds", "dfg", "dfh", "dgh", "dghgd", "dgrert", "dgsh", "dsgdfg", 
"dsgdg", "e", "er", "ewt", "fdg", "fdgd", "fg", "gdfgd", "gdfsh", 
"gf", "gfdg", "gfs", "gh", "ghj", "ghjhg", "gjgj", "gt", "hdsger", 
"hgdhg", "hgj", "hjghj", "jgh", "jyfj", "ret", "rth", "ryuy", 
"sdf", "sdfh", "sfdg", "sgdf", "tyew", "tyu", "tyutyu", "uiuy", 
"yoiy", "yt"), class = "factor"), ColB = structure(c(1L, 1L, 
1L, 1L), .Label = c("A", "B"), class = "factor"), ColC = 1:4, 
  ColD = 2:5), row.names = c(NA, 4L), class = "data.frame"

sa <- names(Filter(is.factor,df))
for (i in sa)
{ res 
res[[i]] <= levels(factor(df[,i]))
return(res) }

Я должен получить

res <- 
ColA = "dfg" "er"  "gf"  "gfs"

ColB = "A" 


1 Ответ

0 голосов
/ 29 сентября 2019

Здесь используется цикл for.

sa <- names(Filter(is.factor,df))

res <- list()

for (i in sa)
{
  res[[i]] <- levels(factor(df[,i]))
}
#res
#$ColA
#[1] "dfg" "er"  "gf"  "gfs"

#$ColB
#[1] "A"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...