テーブルで少し苦労しています。いくつかの変数を (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 するには、次を使用する必要があることを認識しています。
'\\..'
セパレーターとして。