Thx you all for helping me
out.
The code below worked
perfectly, but was a bit slow
newDF <- merge(SDF1,
SDF2)
d1 <- dim(SDF1)[2]
s <- seq(dim(newDF)[2])
for(i in 1:dim(newDF)[1]) {
newDF[i,
which((s > d1) & (s != (i + d1)))] <- 0
}
I have the impression that the
methods below from Richard were faster.
Possibility 1
A <- data.frame(Period=c("W1","W2","W3"),
Data="" class=GramE>c(4,5,6))
B <- data.frame(W1="A",
W2="B",
W3="C")
BB <- diag(length(t(B)))
BBB <- rep("",
length(BB))
BBB[as.logical(BB)] <- t(B)
BBB
dim(BBB) <- dim(BB)
dimnames(BBB) <- list(names(B), names(B))
BBB
result1 <- cbind(A,
BBB)
result1
Possibility 2
CCC <- diag(as.vector(t(B)))
dimnames(CCC) <- list(names(B), names(B))
CCC
result2 <- cbind(A,
CCC)
result2
Sy
Bert