小编ers*_*san的帖子

从 R 中的数据框中拆分逗号分隔模式

我有一个这样的数据集:

Old <- data.frame(
  X1= c(
    "AD=17795,54;ARL=139;DEA=20;DER=20;DP=1785",
    "DP=4784;AD=4753,23;ARL=123;DEA=5;DER=5",
    "ARL=149;AD=30,9;DEA=25;DER=25;DP=3077",
    "AD=244,49;ARL=144;DEA=7;DER=7;DP=245"
    ))


X1
AD=17795,54;ARL=139;DEA=20;DER=20;DP=1785
DP=4784;AD=4753,23;ARL=123;DEA=5;DER=5
ARL=149;AD=30,9;DEA=25;DER=25;DP=3077
AD=244,49;ARL=144;DEA=7;DER=7;DP=245 
Run Code Online (Sandbox Code Playgroud)

我想提取“;” AD=xxx,xx 的单独值比添加到新列:所需的输出是:

X1                                              X2
AD=17795,54;ARL=139;DEA=20;DER=20;DP=1785       17795,54
DP=4784;AD=4753,23;ARL=123;DEA=5;DER=5          4753,23
ARL=149;AD=30,9;DEA=25;DER=25;DP=3077           30,9
AD=244,49;ARL=144;DEA=7;DER=7;DP=245            244,49
Run Code Online (Sandbox Code Playgroud)

我试过了:

Old$X2<-mapply(
  function(x,  i) x[i],
  strsplit(X1, ";"),
  lapply(strsplit(X1, ";"), function(x) which(x == "AD="))
)
Run Code Online (Sandbox Code Playgroud)

regex r strsplit dataframe

4
推荐指数
3
解决办法
63
查看次数

awk命令过滤3次以上数据过滤

我有一个像这样分隔的数据集选项卡:

A  B  C  D
1  aaa 1 2
1  aaa 3 4
1  aaa 5 6
1  bbb 7 8
1  ccc 9 1
1  ccc 2 3
1  ddd 4 5
1  ddd 6 7
1  ddd 8 9
1  ddd 1 2
Run Code Online (Sandbox Code Playgroud)

期望的输出:

A  B  C  D
1  aaa 1 2
1  aaa 3 4
1  aaa 5 6
1  ddd 4 5
1  ddd 6 7
1  ddd 8 9
1  ddd 1 2
Run Code Online (Sandbox Code Playgroud)

我试过这个:

awk …
Run Code Online (Sandbox Code Playgroud)

awk

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

使用 awk 删除过滤组

我有一个输入

1   a   0,9
1   b   0,8
1   c   0,1
2   d   0,5
3   e   0,1
3   f   0,7
4   g   0,4
4   h   0,3
4   i   0,2
4   j   0,1
Run Code Online (Sandbox Code Playgroud)

使用awk,如果第三列大于0.6,我想删除过滤组,我想删除第一列相等的其他行。

期望输出:

2   d   0,5
4   g   0,4
4   h   0,3
4   i   0,2
4   j   0,1
Run Code Online (Sandbox Code Playgroud)

我用过这个,但这不会删除其他行。

awk  '($3 < 0.6)'  file
Run Code Online (Sandbox Code Playgroud)

awk

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

合并R中以逗号分隔的列表列表

我有一个这样的数据集

可重复的数据

test <- list(c("1"),c("2"),c("3"),c(c("a"),c("b")),c("d"))
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

1
2
3
a,b
d
Run Code Online (Sandbox Code Playgroud)

我努力了

output <- do.call(rbind, test)
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

awk ×2

r ×2

dataframe ×1

regex ×1

strsplit ×1