表提取的R冻结
我有一个奇怪的问题与R(在Linux上),我无法解决,尽管几个小时的尝试。。。 我的文件1的格式如下:表提取的R冻结,r,R,我有一个奇怪的问题与R(在Linux上),我无法解决,尽管几个小时的尝试。。。 我的文件1的格式如下: Name Chr Position 18-B00G44L.CEL.Log_R_Ratio 18-B00G44L.CEL.B_Allele_Freq SNP_A-2131660 1 1145994 0.0315 0.9700 SNP_A-1967418 1 2224111 0.2447 0.9894 SNP_A-19695
Name Chr Position 18-B00G44L.CEL.Log_R_Ratio 18-B00G44L.CEL.B_Allele_Freq
SNP_A-2131660 1 1145994 0.0315 0.9700
SNP_A-1967418 1 2224111 0.2447 0.9894
SNP_A-1969580 1 2319424 -0.1340 0.7163
SNP_A-4263484 1 2543484 0.5695 0.8937
SNP_A-1978185 1 2926730 -0.3612 0.1438
SNP_A-4264431 1 2941694 -0.0140 0.0251
SNP_A-1980898 1 3084986 0.0082 0.9900
SNP_A-1983139 1 3155127 0.7095 0.1457
SNP_A-4265735 1 3292731 1.8722 0.5030
chr pos
SNP_A-8531044 1 990417
SNP_A-8530320 1 990517
SNP_A-8572481 1 990839
SNP_A-2116190 1 1003629
SNP_A-8325638 1 1017216
SNP_A-8469070 1 1018704
我的文件2的格式如下:
Name Chr Position 18-B00G44L.CEL.Log_R_Ratio 18-B00G44L.CEL.B_Allele_Freq
SNP_A-2131660 1 1145994 0.0315 0.9700
SNP_A-1967418 1 2224111 0.2447 0.9894
SNP_A-1969580 1 2319424 -0.1340 0.7163
SNP_A-4263484 1 2543484 0.5695 0.8937
SNP_A-1978185 1 2926730 -0.3612 0.1438
SNP_A-4264431 1 2941694 -0.0140 0.0251
SNP_A-1980898 1 3084986 0.0082 0.9900
SNP_A-1983139 1 3155127 0.7095 0.1457
SNP_A-4265735 1 3292731 1.8722 0.5030
chr pos
SNP_A-8531044 1 990417
SNP_A-8530320 1 990517
SNP_A-8572481 1 990839
SNP_A-2116190 1 1003629
SNP_A-8325638 1 1017216
SNP_A-8469070 1 1018704
我用read.table(File,header=T,row.names=1)读取R中的两个文件
现在,我要做的是,例如:
Test = File1[rownames(File2),4,drop=F]
而且效果很好
问题是,当我使用最初为Windows创建的程序创建第三个文件时。
File3的格式与File1完全相同,但是当我想要运行时
Test = File3[rownames(File2),4,drop=F]
什么都没发生。。。没有错误消息,只有R被冻结,就像工作一样,但我无法停止
我在File3中找到了带有cat-et File3
并使用cat File3 | tr-d'\b\r'>新文件3将其删除
但这并没有改变任何事情。
现在我迷路了,迷茫了
编辑:
奇怪的是
Test = File3["SNP_A-8325638",4,drop=F]
或
工作正常…
编辑2:
Test = File3[rownames(File2)[26],4,drop=F]
同样有效…
请问有人有什么想法吗?我找到了一个解决方案:
当我意识到文件大小类似于File3
因此,我将File2的大小(行数)减小为File2
它终于成功了
最后,要做的是:
Test = File3[rownames(File2),4,drop=F]
文件2的大小小于文件3的大小似乎很重要…您是否使用head(文件3)
和str(文件3)
检查了data.frame?File2
和File3
有多大?如果数据量很大,则帧子集设置可能会很慢。奇怪的是,您的file1示例看起来没有设置rownames()。它在第一列名称
中有一个标题,通常在行名
中不显示该标题。读入文件3后,您没有注意到它有任何其他问题吗?它有你期望的行数?File1有1.848.112行,File3有1.754.310行,所以它的行数比预期的少,但我想这是为了我使用的更正程序,可能删除了一些行。文件2有1.838.128行。我不认为这与大小有关,因为对于文件1,测试在几秒钟内生成,而文件3更小…@Roland:我尝试了str(文件1)和str(文件3),但有些不同!文件1:$Chr:Factor w/24级“1”、“10”、“11”、..:1…文件3:$Chr:int 1 1。。。而在文件2中:$chr:系数w/23级别“1”、“10”、“11”、..:1。。。所以我猜问题来自File3中变量Chr的类型!我只需要想办法改变它的类型。。。您知道如何执行此操作吗?请检查列中应为数字/整数的字符串。然后使用read.table
的na.strings
参数。此外,对于如此多的行,您将从使用package data.table及其更快的联接中获益。