【发布时间】:2019-01-28 14:06:24
【问题描述】:
我需要构建一个函数,该函数将接收一个向量和一个因子,并返回一个包含向量除以因子级别的列表。这意味着它应该从因子中获取级别,并且对于每个级别,在包含与因子中的级别等效的向量子集的列表中创建一个项目或元素。应使用级别名称来命名列表项。它是数据框中的向量和因子。
现在这就是我所拥有的,但它只返回 NA 上的列表:
mk_factor_list <- function(x,f) {
{
{if (length(x) == length(f) )
{print(":)")}
else { stop(print("f and x don't have the same length"))}
listf <- rep (NA, length(levels(f)))
for (i in levels (f))
listf[i] <-x[i]
}}
return (listf)
}
【问题讨论】:
-
该函数位于基数 R 中,称为
split。试试split(x = 1:5, f = factor(c('a', 'b', 'a', 'b', 'c')))