0
いくつかの外部ファイルを読み、いくつかの列を抽出し、欠損値をゼロで完成させなければならない。したがって、最初のファイルが$ Name:a、b、c、dの列と離散値を持つ$ Areaの列にある場合、 2番目のファイルがいくつかの列にあります。私は、このような、このデータフレームを作成する必要があり、さらにファイルのためのように、B、D、E、Fおよび:R行列を作成する
a b c d e f
File1 value value value value 0 0
File2 0 value 0 value value value
これは、私がしようと書いたダミーのコードです私の問題をよく説明してください:
listDFs <- list()
for(i in 1:10){
listDFs[[i]] <-
data.frame(Name=c(
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse="")),
c(paste(sample(letters,size=2,replace=TRUE),collapse=""))),
Area=runif(7))
}
lComposti <- sapply(listDFs, FUN = "[","Name")
dfComposti <- data.frame(matrix(unlist(lComposti),byrow=TRUE))
colnames(dfComposti) <- "Name"
dfComposti <- unique(dfComposti)
#
## The CORE of the code
lArea <- list()
for(i in 1:10){
lArea[[i]] <-
ifelse(dfComposti$Name %in% listDFs[[i]]$Name, listDFs[[i]]$Area, 0)}
#
mtxArea <- (matrix(unlist(lArea),nrow=c(10),ncol=dim(dfComposti)[1],byrow=TRUE))
問題は、列名と各値の「同期」です。
いくつかの提案がありますか?
私のコードの結果が明らかでない場合は、私が扱うファイルをアップロードすることもできます。
ベスト
ありがとうございます!私は私の問題を解決した!私は_reshape2_パッケージを完全に無視しますが、今私は慎重にそれを勉強すると思います! – Riccardo