1

テーブルで少し苦労しています。いくつかの変数を (R を使用して) 分割しようとしていますが、1 つの特定の列で問題が発生しています。

私のデータセットは次のようなものです:

test<-data.frame(
 Chrom_no=c(1,1,2,3),
 Region=c('12..13','22..23','100','34..36'),
 Ref=c('AT','CG','A','AAA'),
 Alt=c('TA','GA','T','CGG'),
 Prob=c(99,98.7,99,99.9))

グループ化されているすべての地域を分離したいと考えています。これまでのところ、すべての列を解決しましたが、「地域」の列は次のとおりです。

ref2 <- strsplit(as.character(test$Ref), '')
alt2<-strsplit(as.character(test$Alt), '')

test2<-data.frame(
 Chrom_no=rep(test$Chrom_no, vapply(ref2, FUN=length, FUN.VALUE=integer(1))),
 Region=rep(test$Region, vapply(ref2, FUN=length, FUN.VALUE=integer(1))),
 Ref=unlist(ref2),
 Alt=unlist(alt2),
 Prob=rep(test$Prob, vapply(ref2, FUN=length, FUN.VALUE=integer(1))))

その列を修正する方法がわかりません: 例: '12..13': 12 は Ref=A に、13 は Ref=T に入力する必要があります (それぞれ 1 番目と 2 番目の文字)。一部の列には 3 文字 (および対応する範囲: 22..24) があり、一部の列にはそれ以上の文字があるため、事態は複雑になります。

どうすれば解決できますか?ここ数日で解決策を探していましたが、まだ解決方法がわかりません。既にどこかで解決済みでしたら申し訳ありません。PS: 'Region' 列で strsplit するには、次を使用する必要があることを認識しています。

'\\..'

セパレーターとして。

4

1 に答える 1