上記dat
の@agstudyの回答を使用して、次のように「reshape2」パッケージとともに私の「splitstackshape」パッケージを使用してみてください。
library(splitstackshape)
library(reshape2)
## Convert the rownames to an "ID" column
dat$ID <- rownames(dat)
## Split Col1 and Col2 into a "lonf" form
S1 <- concat.split.multiple(dat, c("Col1", "Col2"), ";", "long")
## Make that output even longer
S2 <- melt(S1[complete.cases(S1), ], id.vars=c("ID", "time"))
## Split again, this time on the "="
S3 <- concat.split.multiple(S2, "value", "=")
## Use `dcast` to get the data into the right shape
dcast(S3, ID ~ value_1, value.var="value_2")
# ID Attr1 Attr2 Attr3 Attr4 Attr5 Attr6
# 1 Name1 10 24 5.0 9 NA NA
# 2 Name2 1 NA 2.4 16 90 NA
# 3 Name3 2 45 NA 122 NA 120