我有一个这样的数据集:
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) 我有一个像这样分隔的数据集选项卡:
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) 我有一个输入
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) 我有一个这样的数据集
可重复的数据
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)