【发布时间】:2018-04-11 19:13:47
【问题描述】:
我有一个如下所示的数据框:
> df
V1 V2 V3 V4 V5 V6 V7
1 chr1:859582-899582 AHR.pfm 33440 - 9.188581 gcacgcaac NA
2 chr2:859582-899582 AIRE.pfm 7387 + 7.982141 TCTGGTTCAGTTGGATGC NA
3 chr1:859582-899582 AIRE.3.pfm 30639 - 8.127811 aaaaccaaacaaacaaaa NA
4 chr13:859582-899582 ALX1.pfm 11835 + 7.485710 GTAATTGTGTTA NA
5 chr21:859582-899582 ALX1.1.pfm 16260 + 9.529333 GTAATTAATTTA NA
6 chrX:859582-899582 ALX1.2.pfm 20686 + 9.241755 CTAATTAATTTA NA
我想将多个新列附加到此数据框中,并且所有这些列都将包含此数据框中的信息。详情如下:
- 附加列 chr 具有值 strsplit(df$V1,":")[[1]] (split : 上的第一列值并将第一个索引分配给这个新的 列)
- 附加列 start 具有值 strsplit(df$V1,":")[[2]] => strsplit(df$V1,"-")[[1]] (首先拆分第一列值:取 第二个索引,然后将其拆分 - 并将第一个索引分配给这个新的 列)
- 附加列 end 具有值 df$start + length(df$V6)(添加 start 的值,V6 列的字符长度)
- 附加列 TF 具有值 strsplit(df$V2,".")[[1]] (split 上的第二列值。并将第一个索引分配给这个新的 列
所以附加的新列看起来像:
chr1 859582 859591 AHR
chr2 859582 859600 AIRE
chr1 859582 859600 AIRE
chr13 859582 859594 ALX1
chr21 859582 859594 ALX1
chrX 859582 859594 ALX1
【问题讨论】: