(我有一種感覺,我會感到非常愚蠢,我得到一個答案後,但我只是無法弄清楚這一點。)在R中,如何對data.frame的特定子集執行操作?
我有一個data.frame結尾的空列。它將主要被納入NA,但我想用一個值填充它的一些行。此列表示對data.frame中某列的數據缺失的猜測。
我最初data.frame看起來是這樣的:
Game | Rating | MinPlayers | MaxPlayers | MaxPlayersGuess
---------------------------------------------------------
A | 6 | 3 | 6 |
B | 7 | 3 | 7 |
C | 6.5 | 3 | N/A |median(df$MaxPlayers[df$MinPlayers ==3,])
D | 7 | 3 | 6 |
E | 7 | 3 | 5 |
F | 9.5 | 2 | 5 |
G | 6 | 2 | 4 |
H | 7 | 2 | 4 |
I | 6.5 | 2 | N/A |median(df$MaxPlayers[df$MinPlayers ==2,])
J | 7 | 2 | 2 |
K | 7 | 2 | 4 |
注意,兩排中有 「N/A」 爲MAXPLAYERS。我試圖做的是使用我必須猜測MaxPlayers可能是什麼的信息。如果3位玩家遊戲的中位數(MaxPlayers)爲6,則對於MinPlayers == 3和MaxPlayers == N/A的遊戲,MaxPlayerGuess應該等於6。 (我試圖在代碼中表示什麼價值MaxPlayerGuess應在本例中得到上面。)
產生的data.frame應該是這樣的:
Game | Rating | MinPlayers | MaxPlayers | MaxPlayersGuess
---------------------------------------------------------
A | 6 | 3 | 6 |
B | 7 | 3 | 7 |
C | 6.5 | 3 | N/A |6
D | 7 | 3 | 6 |
E | 7 | 3 | 5 |
F | 9.5 | 2 | 5 |
G | 6 | 2 | 4 |
H | 7 | 2 | 4 |
I | 6.5 | 2 | N/A |4
J | 7 | 2 | 2 |
K | 7 | 2 | 4 |
共享一個嘗試的結果:
gld$MaxPlayersGuess <- ifelse(is.na(gld$MaxPlayers), median(gld$MaxPlayers[gld$MinPlayers,]), NA)
Error in gld$MaxPlayers[gld$MinPlayers, ] :
incorrect number of dimensions
道歉,因爲我不知道如何甚至開始編碼,我不知道如何提供一個可重複的例子程序。 – Zelbinian
謝謝你試圖回答。通過嘗試一些您的建議,我能夠更好地看到問題並找出如何發佈示例。 – Zelbinian
@Zelbinian,所以一般你會把griffmer的標記爲答案 – Chris