我正在对VCF文件进行分析,在使用vcfR::maf函数后,我得到了一个包含四列的数据框架:a, B, C, D,每个列都有数字作为值,没有NA。
我将数据帧输出到csv文件中,这就是它的样子
我将此数据帧命名为AF,现在正尝试根据值根据列D筛选行,只留下列D>= 0.1中的数字,并将新数据帧命名为AF_MAF
我使用了这个代码
AF2_MAF <- AF2 %>% filter (Frequency>=0.1)
在遇到不同的错误后,我寻找解决方案并执行
library(magrittr)
library(dplyr)
现在我得到一个新的错误:
UseMethod("filter")错误:没有适用于类"c"("矩阵"、"数组"、"双精度"、"数字")对象的"筛选器"方法
我搜索了,没有找到相应的解决方案。请帮忙,非常感谢!
使用subset
frombase R
subset(AF2, AF2[, "Frequency"] >= 0.1)
从错误消息看来,AF2
是一个矩阵,您可以将其更改为数据框架,然后您的代码应该工作。
AF2_MAF <- AF2 %>% as.data.frame() %>% filter (Frequency>=0.1)
或者,您也可以将矩阵子集。
AF2_MAF <- AF2[AF2[, "Frequency"] >= 0.1, ]