Ho provato alcune soluzioni proposte qui. Ma non stava funzionando per il mio caso. Ho un codice, qui:Imposta diagonale di una matrice a zero in R
a <- read.table("Whirr_127.csv", header=T, sep=",", row.names=1) # task assignment/people vs task
b <- read.table("Files_Whirr_127.csv", header=T, sep=",", row.names=1) #task vs files
a
b
#calc cr , cr = ta * tf * transpose(ta)
cr <- as.matrix(a) %*% (as.matrix(b) %*% as.matrix(t(b)) %*% as.matrix(t(a)))
cr
#set value to 1, to initialize table
cr[cr>=1]<-1
cr
#identify diagonal matrix, set to zero
cr<-as.matrix(0,ncol=ncol(cr),nrow=nrow(cr))
cr<-diag(cr,x=0)
voglio impostare il valore diagonale come zero. Sembra che il codice utilizzato nelle ultime due righe non funzioni per il mio caso.
Inoltre, vorrei utilizzare il nome del file in a
, e salvato come AB_Files_Whirr_127.csv Ho cercato di usare
write.csv(cr,file = paste("CR_", a,".csv")
ma, nulla appare nella mia directory.
output di esempio per cr:
Adrian Cole Alison Wong Andrei Savu Bruno Dumon Edward J. Yoon Eugene Koontz Jakob Homan Kelvin Kakugawa Kirk True Lars George Soren Macbeth Stu Hood
Adrian Cole 0 0 0 0 0 0 0 0 0 0 0 0
Alison Wong 0 0 0 0 0 0 0 0 0 0 0 0
Andrei Savu 0 0 1 0 0 0 0 0 0 1 1 0
Bruno Dumon 0 0 0 0 0 0 0 0 0 0 0 0
Edward J. Yoon 0 0 0 0 0 0 0 0 0 0 0 0
Eugene Koontz 0 0 0 0 0 0 0 0 0 0 0 0
Jakob Homan 0 0 0 0 0 0 0 0 0 0 0 0
Kelvin Kakugawa 0 0 0 0 0 0 0 0 0 0 0 0
Kirk True 0 0 0 0 0 0 0 0 0 0 0 0
Lars George 0 0 1 0 0 0 0 0 0 1 1 0
Soren Macbeth 0 0 1 0 0 0 0 0 0 1 1 0
Stu Hood 0 0 0 0 0 0 0 0 0 0 0 0
Tibor Kiss 0 0 0 0 0 0 0 0 0 0 0 0
Tom White 0 0 1 0 0 0 0 0 0 1 1 0
Unassigned 0 0 0 0 0 0 0 0 0 0 0 0
Tibor Kiss Tom White Unassigned
Adrian Cole 0 0 0
Alison Wong 0 0 0
Andrei Savu 0 1 0
Bruno Dumon 0 0 0
Edward J. Yoon 0 0 0
Eugene Koontz 0 0 0
Jakob Homan 0 0 0
Kelvin Kakugawa 0 0 0
Kirk True 0 0 0
Lars George 0 1 0
Soren Macbeth 0 1 0
Stu Hood 0 0 0
Tibor Kiss 0 0 0
Tom White 0 1 0
Unassigned 0 0 0
ringraziamento, il lavoro soluzione di diagonale per me, ma il file non viene visualizzata in Risorse directory di lavoro ... – user1676484
ho modificato il post, allo stesso tempo lo si legge, probabilmente. La soluzione con 'paste0 (" CR_ ", infile," .csv ")' dovrebbe funzionare decisamente. Se non si è sicuri che il comando 'paste0' restituisca un carattere scalare. – Backlin
è solo una soluzione semplice per diag. sciocco me! comunque, diciamo, ho più file, questo significa che devo sostituire infile (file = paste0 ("CR_", infile, ".csv") con filepath? È corretto? – user1676484