5
ben şöyle bir tablo var:R: Satırı Hesaplama sütun adı kısmi maç dayalı demek
er er.1 as as.1 as.2 rt op
a 1 6 90 8 6 4 87
b 1 8 56 7 5 5 9
c 8 7 6 4 5 9 6
d 1 0 8 6 4 3 6
e 9 7 2 4 3 89 7
Ben bir sonuç vermek, kısmen eşleşen adlara sahip satır sütunları arasında ortalama hesaplamak istiyorum böyle:
er as rt op
a 3.5 34.66666667 4 87
b 4.5 22.66666667 5 9
c 7.5 5 9 6
d 0.5 6 3 6
e 8 3 89 7
Bu soru üzerinde bazı yararlı ipuçları buldunuz
:
Calculate row means based on (partial) matching column names
fakat benim için çalışmıyor gibi görünüyor. İşte kullanılan komutlar:
test <- read.table("test.txt", header=TRUE, row.names=1)
colnames <- c("er", "er", "as", "as", "as", "rt", "op")
means <-sapply(colnames, function(x) rowMeans(test [, grep(x, names(test))]) )
Bu son komut bana aşağıdaki hatayı veriyor:
structure(list(er = c(1L, 1L, 8L, 1L, 9L), er.1 = c(6L, 8L, 7L,
0L, 7L), as = c(90L, 56L, 6L, 8L, 2L), as.1 = c(8L, 7L, 4L, 6L,
4L), as.2 = c(6L, 5L, 5L, 4L, 3L), rt = c(4L, 5L, 9L, 3L, 89L
), op = c(87L, 9L, 6L, 6L, 7L)), .Names = c("er", "er.1", "as",
"as.1", "as.2", "rt", "op"), class = "data.frame", row.names = c("a",
"b", "c", "d", "e"))
herhangi bir fikir neden: Burada
Error in rowMeans(test[, grep(x, names(test))]) :
'x' must be an array of at least two dimensions
benim veri çerçevesinin dput olduğunu Bu hatayı alıyorum ve bunu nasıl düzeltebilirim?
Teşekkür ederiz!
teşekkürler olsun, bu çalışıyor gibi görünüyor! Sadece bunun ne olduğunu anlamak isterim. Farklı sütun adı formatlarıyla çalışır. as_1, er_22, vb? – arielle
@arielle Adların biçimi "as_1", "er_22" ise, "alt" ("_. *", "", Adlar (df1)) ' – akrun
iyi geliyor, teşekkürler! – arielle