1

このようなデータフレームを取得しました

TargetID       A    B  knowngene
cg00000108 0.8644845 0.9289447 uc003chb.3
cg00000108 0.8644845 0.9289447 uc003cha.4
cg00000109 0.8810606 0.9109397 uc003fhy.3
cg00000109 0.8810606 0.9109397 uc003fhz.4
cg00000109 0.8810606 0.9109397 uc003fia.3

アイデアは、この新しいものを取得するためにこれを変更することです

knowngene    Meth_info
uc003chb.3   cg00000108;0.8644845;0.9289447
uc003cha.4   cg00000108;0.8644845 0.9289447
uc003fhy.3   cg00000109;0.8810606;0.9109397
uc003fhz.4   cg00000109;0.8810606;0.9109397
uc003fia.3   cg00000109;0.8810606;0.9109397
4

2 に答える 2

2

これはかなり持ち上げられduplicated.data.frameます:

dat <- read.table(text = "TargetID       A    B  knowngene
cg00000108 0.8644845 0.9289447 uc003chb.3
cg00000108 0.8644845 0.9289447 uc003cha.4
cg00000109 0.8810606 0.9109397 uc003fhy.3
cg00000109 0.8810606 0.9109397 uc003fhz.4
cg00000109 0.8810606 0.9109397 uc003fia.3", header = TRUE)

# Paste together the first three columns
theStrings <- do.call(paste,c(dat[,-4],sep=";"))

# create a data.frame of the results
(dat2 <- data.frame(dat[,4, drop = FALSE], Meth_info = theStrings))

#    knowngene                     theStrings
# 1 uc003chb.3 cg00000108;0.8644845;0.9289447
# 2 uc003cha.4 cg00000108;0.8644845;0.9289447
# 3 uc003fhy.3 cg00000109;0.8810606;0.9109397
# 4 uc003fhz.4 cg00000109;0.8810606;0.9109397
# 5 uc003fia.3 cg00000109;0.8810606;0.9109397
于 2012-11-16T10:08:07.647 に答える
0

これを試してください:

df2 <- data.frame(knowngene, 
          Meth_info= paste(TargetID,";",A,";",B,sep="")
          ,stringsAsFactors=F)

ベクトルに貼り付けを使用すると、項目を 1 行ずつ貼り付けるだけです。とても便利です。

于 2012-11-16T10:36:53.490 に答える