私は次のようdata.frameを持っている:ファクタを使用した計算の結果、リストによる回避 - 回避する方法は?
Lot Wafer Voltage Slope Voltage_irradiated Slope_irradiated m_dist_lot
1 8 810 356.119 6.08423 356.427 6.13945 NA
2 8 818 355.249 6.01046 354.124 6.20855 NA
3 9 917 346.921 6.21474 346.847 6.33904 NA
4 (...)
120 9 914 353.335 6.15060 352.540 6.19277 NA
121 7 721 358.647 6.10592 357.797 6.17244 NA
122 (...)
私の目標は、シンプルでありながらも少し難しいです。間違いなく、いくつかの方法でそれを解決することができます: ファクタに応じて各行に関数 "func"を適用したいとします。ファクター "ロット"。
data.frame$Lot: 7
354 355 363 367 378 419 426 427 428 431 460 477 836
3.5231249 9.4229589 1.4996504 7.2984485 7.6883170 1.2354754 1.8547674 3.1129814 4.4303001 1.9634573 3.7281868 3.6182559 6.4718306
data.frame$Lot: 8
1 2 11 15 17 18 19 20 21 22 24 25
2.1415352 4.6459868 1.3485551 38.8218984 3.9988686 2.2473563 6.7186047 2.6433790 0.5869746 0.5832567 4.5321623 1.8567318
最初の行は、データがから取得された初期data.frameの行と思われる。これは、この実際の動作が、結果によりリストである
m_dist_lot<- by(data.frame, data.frame$Lot,func)
を介して行われ。 2番目の行は計算された値です。 私の問題は次のとおりです。これらの値を正しい行に基づいて元のdata.frameに正しく保存するにはどうすればよいですか?例えば
データフレームの特定の計算/列の場合:
data.frame$Lot: 8
2
4.6459868
におけるdata.frameの第2行のため
m_dist_lot<- by(data.frame, data.frame$Lot,func)
結果
Iの値を格納しますdata.frame $ m_dist_lotで4.6459868正しい行 "" に従って:
Lot Wafer Voltage Slope Voltage_irradiated Slope_irradiated m_dist_lot
1 8 810 356.119 6.08423 356.427 6.13945 NA
2 8 818 355.249 6.01046 354.124 6.20855 4.6459868
3 9 917 346.921 6.21474 346.847 6.33904 NA
4 (...)
120 9 914 353.335 6.15060 352.540 6.19277 NA
121 7 721 358.647 6.10592 357.797 6.17244 NA
122 (...)
しかし、私はどのようにわかりません。私の最高の試みは実際には "unlist"を使うことです。
un[1]
6.354
3.523125
un[2]
6.355
9.422959
un[3]
(..)
しかしにおける
un<- unlist(m_dist_lot)
結果は、私はまだ私が「factor.row」との「分離」の情報は、情報が正しく保存されるように値を「calculcated」できるのか分かりませんデータフレーム内にある。
un[1]
3.523125
un[2]
9.422959
un[3]
1.49965
(..)
しかし、今、私はdata.frameに適切にこれらの値を割り当てる方法の情報が不足している:un<- unlist(m_dist_lot, use.names = FALSE)
を使用した場合
は、少なくとも要因が存在していません。
ここ(...)
7.922 0.94130936
7.976 4.89560441
8.1 2.14153516
8.2 4.64598677
8.11 1.34855514
(...)
でun<- do.call(rbind, lapply(m_dist_lot, data.frame, stringsAsFactors=FALSE))
結果を使用して
私はまだ計算値<> data.frameの適切な割り当てを欠いています。 私は実践できる方法が必要であると確信しています。あなたは良い方法を知っていますか?