我有两个文件,我试图加入/合并基于列1和2.它们看起来像这样,file1(58210线)比file2(815530线)短得多,我想根据字段1和2索引找到这两个文件的交集:
file1:
2L 25753 33158
2L 28813 33158
2L 31003 33158
2L 31077 33161
2L 31279 33161
3L 32124 45339
3L 33256 45339
...
Run Code Online (Sandbox Code Playgroud)
file2:
2L 20242 0.5 0.307692307692308
2L 22141 0.32258064516129 0.692307692307692
2L 24439 0.413793103448276 0.625
2L 24710 0.371428571428571 0.631578947368421
2L 25753 0.967741935483871 0.869565217391304
2L 28813 0.181818181818182 0.692307692307692
2L 31003 0.36 0.666666666666667
2L 31077 0.611111111111111 0.931034482758621
2L 31279 0.75 1
3L …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的输入文件(第一列是位置编号,第二列是应该随时间增加的计数):
1 0
1 2
1 6
1 7
1 7
1 8
1 7
1 7
1 9
1 9
1 10
1 10
1 9
1 10
1 10
1 10
1 10
1 10
1 10
1 9
1 10
1 10
1 10
1 10
1 10
1 10
Run Code Online (Sandbox Code Playgroud)
并且我想修复它看起来像这样(替换计数随先前计数减少):
1 0
1 2
1 6
1 7
1 7
1 8
1 8
1 8
1 9
1 9
1 10
1 10
1 10 …Run Code Online (Sandbox Code Playgroud) 我正在使用中的一些数据R,并且有一个载体(例如基因列表),我想知道该载体的多少个成员出现在列表列表(例如在不同时间表达的基因列表)的子列表中点)。我可以通过检查来手动完成此操作,x[] %in% y[[]]或者is.element(x[], y[[]])尝试找出如何编写R函数为我执行此操作的方法,因为我有一些这样的向量和长列表。这是一个玩具示例:
mylist <- list("Hr01" = c("G0295801", "G0295799", "G0293928", "G0293730", "G0293626", "G0293536", "G0293364", "G0291640", "G0291233", "G0290907"), "Hr02" =c ("G0295801", "G0295701", "G0295689", "G0293730", "G0293626", "G0293364", "G0293360", "G0293276", "G0293066", "G0292860", "G0292814", "G0292028", "G0292014", "G0291824"), "Hr03" = c("G0295701", "G0293364", "G0293276", "G0291714", "G0291253", "G0290405", "G0290259", "G0289553", "G0284885"))
checklist <- as.vector(c("G0290907", "G0295701", "G0270472", "G0283625", "G0284885"))
Run Code Online (Sandbox Code Playgroud)
这将是可以得到这样的事情作为输出(数据帧,与列:子表的名称,有多少成员checklist发生在子列表mylist):
"Hr01" 1
"Hr02" 1
"Hr03" 2
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助!