小编Car*_*rol的帖子

聚合数据框列

我有一个data.frame如下:

>data
    ID     Orginal   Modified
    Sam_1    M         K
    Sam_1    K         M
    Sam_1    I         J
    Sam_1    M         K
    Sam_1    K         M
    Sam_2    K         M
    Sam_2    M         K
    Sam_3    J         P
    Sam_4    K         M
    Sam_4    M         K
    Sam_4    P         J 
Run Code Online (Sandbox Code Playgroud)

我想计算每个样本数量的时间M列中的"原始"在"修改"列中转换为K而"K"在"修改"列中将"原始"列转换为"M"并在制表符分隔文本中报告文件如下:

>newdata
    ID     M_to_K_counts  K_to_M_counts 
    Sam_1     2                2 
    Sam_2     1                1
    Sam_3     0                0
    Sam_4     1                1
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但失败了:

counts=function()
{
for(i in 1:dim(rnaseqmut)[1])
{
  mk_counts=0
  km_counts=0
  if(data$Original[i]=='M' & data$Modified[i]== 'K')
    {
       mk_counts=mk_counts+1
    }
  if(data$Original[i]=='K' & data$Modified[i]== 'M')
    {
       km_counts=km_counts+1
    }
}
print(mk_counts) …
Run Code Online (Sandbox Code Playgroud)

r dataframe

3
推荐指数
1
解决办法
85
查看次数

使用R中的gsub替换数据框列中的特定值

我有data.frame如下

> df
ID      Value
A_001   DEL-1:7:35-8_1 
A_002   INS-4l:5_74:d
B_023   0 
C_891   2
D_787   8
E_865   DEL-3:65:1s:b
Run Code Online (Sandbox Code Playgroud)

我想替换列中的值以DEL和INS开头的所有值.我的意思是我想获得如下输出

> df
ID      Value
A_001   
A_002   
B_023   0 
C_891   2
D_787   8
E_865   
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码在R中使用gsub来实现这一点,但它没有用

gsub(pattern="(^([DEL|INS]*)",replacement="",df)
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我如何实现所需的输出.

提前致谢.

regex r gsub

3
推荐指数
2
解决办法
2万
查看次数

使用滑动窗口对数据帧中的计数求和

我是R的新手.我在R中有一个数据框,如下所示

df <- data.frame(ID=c(rep("A1",10),rep("A2",13),rep("A3",12)),
                 Values=c(10,2,4,23,10,5,20,15,13,21,15,9,19,5,14,25,18,19,31,26,4,21,4,6,7,12,15,18,25,20,16,29,21,19,10))
Run Code Online (Sandbox Code Playgroud)

对于每个ID,我想在每个3个位置的滑动窗口中对"值"列中的计数求和.以下数据框是一个摘录,df其中仅包含对应于A1以下内容的记录:

ID    Values
A1     10
A1      2
A1      4
A1     23
A1     10
A1      5
A1     20
A1     15
A1     13
A1     21
Run Code Online (Sandbox Code Playgroud)

我想在时间和总和中输入3个条目,然后转到接下来的3个条目.当滑动窗口不能容纳3个条目时,我跳过这些值.

例如,Window_1从第一个值(10)window_2开始,从第二个值(2)开始,window_3从第三个值(4)开始.

 window_1 = [10+2+4] + [23+10+5] + [20+15+13] = 102 
 window_2 = [2+4+23] + [10+5+20] + [15+13+21] = 113
 window_3 = [4+23+10] + [5+20+15] = 77
Run Code Online (Sandbox Code Playgroud)

并在以下数据框中报告:

ID  Window_1 Window_2 Window_3
A1   102       113      77
Run Code Online (Sandbox Code Playgroud)

同样,我想Values …

r sliding-window dataframe

2
推荐指数
3
解决办法
665
查看次数

grep -w 忽略连字符[-]

我有sample.txt如下文本文件

ID=Sam-S-PA.path1;Name=Sam-S-PA   23   Hz42
ID=GlcAT-S-PA.path1;Name=GlcAT-S-PA 45   iu7s
ID=TfIIA-S-PA.path1;Name=TfIIA-S-PA 76   5ghz
ID=S-PA.path1;Name=S-PA 69 ivcs       
ID=TyrRS-PA.path1;Name=TyrRS-PA 51 Pqas
ID=HisRS-PA.path1;Name=HisRS-PA 32 Majs
Run Code Online (Sandbox Code Playgroud)

我想使用 grep 提取仅包含 S-PA 的行。我尝试了以下命令:

grep -w "S-PA" sample.txt
Run Code Online (Sandbox Code Playgroud)

但它给出的输出包含我不想要的所有条目。我想要以下输出

 ID=S-PA.path1;Name=S-PA 69 ivcs 
Run Code Online (Sandbox Code Playgroud)

请指导我。提前致谢。

grep

2
推荐指数
1
解决办法
1216
查看次数

标签 统计

r ×3

dataframe ×2

grep ×1

gsub ×1

regex ×1

sliding-window ×1