मुझे R प्रोग्रामिंग में परेशानी हो रही है। एक मैट्रिक्स से, मैं प्रत्येक पंक्ति के माध्यिका को विकर्ण को कैसे खोज सकता हूं?
Ex: मैट्रिक्स 4x4
0 1 2 3
1 0 1 2
2 1 0 1
3 2 1 0
मैं विकर्ण को छोड़कर प्रत्येक पंक्ति के माध्य को खोजना चाहता हूं (इस पूर्व में, डायग = 0)
मैंने कोशिश की:
diag(A) <- NA
mean(A, na.rm = TRUE) # doesn"t work
apply(A, 1, median) # it works but the calculation including the diagonal.
उत्तर:
जवाब के लिए 2 № 1इसे इस्तेमाल करे:
A <- matrix(c(0,1,2,3,1,0,1,2,2,1,0,1,3,2,1,0),nrow=4)
sapply(1:4, function(x) median(A[x,-x]))
[1] 2 1 1 2
उत्तर № 2 के लिए 1
मुझे यकीन नहीं है कि आप क्यों इस्तेमाल कर रहे हैं mean()
; क्यों तुम कोशिश मत करो median()
? यहाँ जाता हैं:
A <- read.table(text="0 1 2 3
1 0 1 2
2 1 0 1
3 2 1 0", header=F)
A <- as.matrix(A)
diag(A) <- NA
A
V1 V2 V3 V4
[1,] NA 1 2 3
[2,] 1 NA 1 2
[3,] 2 1 NA 1
[4,] 3 2 1 NA
myFun <- function(x){ median(x, na.rm=T)}
apply(A, 1, FUN=myFun)
[1] 2 1 1 2