Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R fct_lump和fct_计算所有作为因素的列_R_List_Select - Fatal编程技术网

R fct_lump和fct_计算所有作为因素的列

R fct_lump和fct_计算所有作为因素的列,r,list,select,R,List,Select,我是R方面的新手,在我的在线课程中,我一直在寻找一种更优雅的方式来回答这个问题 我有一个69列的数据集,其中一些是因子。 1.我想显示因子级别少于30次的所有变量 2.我想把所有的因素综合在一起,这样剩下100个最常见的因素,其他的因素都被综合在一起 我想我可能有一个解决方案,只针对一个专栏,但我的问题是我无法将它作为一个函数组合起来。我想我可以使用map函数,但这会给我一个列表作为输出。我想让它成为一个数据集 到目前为止我所做的: 一, >rawdata10%map(~countFactors

我是R方面的新手,在我的在线课程中,我一直在寻找一种更优雅的方式来回答这个问题

我有一个69列的数据集,其中一些是因子。 1.我想显示因子级别少于30次的所有变量 2.我想把所有的因素综合在一起,这样剩下100个最常见的因素,其他的因素都被综合在一起

我想我可能有一个解决方案,只针对一个专栏,但我的问题是我无法将它作为一个函数组合起来。我想我可以使用map函数,但这会给我一个列表作为输出。我想让它成为一个数据集

到目前为止我所做的:

一,

>rawdata10%map(~countFactors(.))lappy(rawdata10,FUN='[',2)
这样我就可以访问列表的第二列,但是我在选择所有较小的变量时遇到了问题

rawdata10[which(sapply(rawdata10, '[[', 2) < 100)]
rawdata10[其中(sapply(rawdata10,[[],2)<100)]
上面写着>(列表)不可能是“双重”的

  • 我用map()函数尝试了第二种方法。但这里是一个列表,而不是我以前使用的数据集,我不知道如何使用它。是否有可能将其转换回数据集,或者甚至不制作列表

  • lumpFactors请修复打字错误(occurance代表occurrence,facotr代表factor,等等),并将德语句子翻译成英语。使用Google translate很容易,但我怀疑你知道足够多的英语,不需要任何帮助就可以做到这一点。这似乎意味着“(list)object无法转换为“double”但不必弄清楚这一点很好。我们欢迎非英语使用者,但这是一个英语网站。如果
    is.factor
    is.factor一起使用,您可以使用
    mutate\u作为谓词
    
    rawdata10[which(sapply(rawdata10, '[[', 2) < 100)]
    
    if(is.factor(col)){
        fct_lump(col,n=100)
    
      }else{
        NULL
      }
    }
    rawdata10<-rawdata9 %>% map(~ lumpFactors(.))