我刚刚开始使用R进行一些基本分析。我试图使用subset
从我的某个txt文件中提取一些数据。
我的数据文件的头部看起来像这样。
head(gps2)
logFC Pval Gene
1 -0,155887003 0,872819236 Cidec
2 -2,853534804 0,158917555 Hsd3b5
3 1,031753975 0,120636931 Cyp2a22
4 0,323919709 0,292010361 Osbpl3
5 -2,842982917 0,039520301 Elovl3
6 -2,223250518 6,1759E-06 Sult5a1
我正试图通过Pval < 0.05
和logFC < -0.5
获取子集。
我按如下方式编写了命令:
genelist=read.table('data.txt',header=T,stringsAsFactors = F)
genelist_down=subset(genelist,logFC< -0.5&Pval<0.05)
head(genelist_down)
当我运行代码时,它给出如下结果:
logFC Pval Gene
1 -0,155887003 0,872819236 Cidec
8 -0,033531014 0,933301176 Stap1
20 -0,034793814 0,965019851 Snora61
24 -0,291441914 0,63454618 Ar
27 -0,118891524 0,810291984 Ddit4
28 -0,090525284 0,8405535 1810011O10Rik
显然它不起作用...... 有人可以帮我弄清楚问题......
答案 0 :(得分:4)
由于您的文件格式化,
表示小数点,因此您的列都被读作字符,因此子集的结果不正确。将dec = ","
添加到read.table()
来电并再次尝试subset()
。
genelist <- read.table(
"data.txt",
header = TRUE,
stringsAsFactors = FALSE,
dec = ","
)
subset(genelist, logFC < -0.5 & Pval < 0.05)
# logFC Pval Gene
# 5 -2.842983 3.95203e-02 Elovl3
# 6 -2.223251 6.17590e-06 Sult5a1