2012-02-14 8 views
2

私は行列mを0にし、データフレームdfにmに挿入したいレコードを入れました。R:行列にレコードを挿入している間にループを避ける

# fix seed ------------------------------------------- 
set.seed(0)  

# create m, matrix of zeros -------------------------- 
rnames <- seq(1, 100, 1) 
m <- matrix(0, length(rnames), length(letters), 
     dimnames=list(rnames, letters)) 

# create df of random records ------------------------ 
r <- sample(rnames, 10, replace=TRUE) 
c <- sample(letters, 10, replace=TRUE) 
q <- runif(10, -10, 10) 
df <- data.frame(r, c, q) 

# want to insert df$q at r,c in m -------------------- 

私はループに頼ることなくこれを行うことができますか?最もクリーンなアプローチは何ですか?

+0

これを再現可能にするには、最初の「サンプル」の前に任意の値を設定する必要があります。 'set.seed(0)'です。 – Iterator

+0

@iterator良いアイディア - – kfmfe04

答えて

5

mに指標の行列を渡します。

+0

がうまくいきます! tyvm – kfmfe04

+0

(+1)それは行く方法です。 (私は投稿する前に私のソリューションをテストしている必要があります:) – chl

関連する問題