(我有一种感觉,我会感到非常愚蠢,我得到一个答案后,但我只是无法弄清楚这一点。)在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