Belirli modelleme tekniklerini uygularken sonuç oluşturma işlemini otomatikleştirmek istiyorum. Bu yüzden uygulanacak farklı parametreler (örneğin, hiyerarşik kümeleme mesafeleri ve bağlantı yöntemleri) olacaktır. Sonuçlar bir matris forma sahip olacak, böylece model parametrelerini (örn., Tek, öklid) belirterek bireysel sonuçlara erişebiliyorum. Bir veri çerçevesinde sütunları ve satırları adlandırabilir ve öğelere yalnızca df[rname[1],cname[1]]
aracılığıyla erişebilirim. Okuduğum kadarıyla liste sonuçlarını saklamak için veri çerçevesi nesnelerini kullanmak mümkün değil. Bu yüzden liste sonuçlarını saklamak için listelere ihtiyacım var. Ancak listelerde sadece lst$cname[1]
'u belirtebilir ve her iki boyutu da belirtebilirim. Doğrumuyum?R'de liste biçimindeki sonuçları saklamak için iyi bir strateji nedir?
# data frame layout for numeric results does not work with list results
rname<-c("u","v","w")
cname<-c("ave","single")
# dataframe for results but does not work for results which are lists
paste.1<-function(x,y) paste(x,y,sep=".")
df1<-data.frame(lapply(cname,paste.1,x=rname),row.names=rname)
colnames(df1)<-cname
# creating list for results - do not get a good idea to proceed from here Advices??
lst<-(lapply(cname,paste.1,x=rname))
names(lst)<-cname
# results example - could be anything else
# with a dataframe I could use df1[rname,cname]<-foo(rname,cname)
# with lists I guess its not as easy
require(graphics)
ave.u <- hclust(dist(USArrests,"euclidean"), cname[1])
ave.v <- hclust(dist(USArrests,"maximum"), cname[1])
ave.w <- hclust(dist(USArrests,"manhattan"), cname[1])
single.u <- hclust(dist(USArrests,"euclidean"), cname[2])
single.v <- hclust(dist(USArrests,"maximum"), cname[2])
single.w <- hclust(dist(USArrests,"manhattan"), cname[2])
Var olduğunu tahmin ettiğim bir çözüm olup olmadığından emin değilim. Sonunda liste sonuçlarına satır isimleri ve sütun isimleri ile erişmek istiyorum. Satır/sütun adlarını sayısal olanlara aktarabilirim ve sonra sonuçlarımın (rname
) x uzunluğu (cname
) listesinde bulmak için uygun dizinler atayarak oynayabileceğimi ancak veri çerçevesinin kullanmak için çok güzel olduğunu varsaydığımdan daha kullanıcı dostu saklamak için kolay bir yol olmalı. Ayrıca, R ile birlikte oynamaya başladığımdan beri liste kavramına gerçekten iyi bakmadığım da söz konusu olabilir. Benim sorum şu: Yapısal sonuçları saklamak için iyi bir strateji ne olurdu (listeler) R kullanarak? Örneğin,
nr <- length(rname)
nc <- length(cname)
m <- matrix(list(), nr, nc, dimnames = list(rname, cname))
m[["u", "ave"]] <- ave.u
# etc.
değerlerinin tüm kombinasyonların satır adları, rnm
ve kolon adları, cnm
ve bir veri çerçevesi, g
oluşturur:
Bunu gerçekten bir veri çerçevesine dönüştürmek mümkün mü?Anladığım kadarıyla, veri çerçevesi dikdörtgen olmalı, liste ise herhangi bir boyutta olabilir. – Sam
r'de AFAIK veri çerçeveleri aynı uzunluktaki listeler olarak uygulanır. – richiemorrisroe
Bu sorunun özellikle kafa karıştırıcı olduğunu düşünüyorum. Neyi başarmaya çalıştığınızın açık bir açıklaması uzun bir yol olacaktır. – Ista