【发布时间】:2018-10-17 15:06:42
【问题描述】:
我正在处理一个不平衡的面板数据集。数据来自游戏,对于记录中的每个用户 (user_id),我都有游戏每个级别 (level) 的数据。由于在游戏推出一段时间后开始记录数据,对于一些用户我没有关于第一关的数据,这就是为什么我想在第一步中将它们扔掉。
我已经尝试过 complete.cases 函数,但它只排除了具有缺失值 (NA) 的行,而不排除具有 1 级缺失值的整个用户的数据。
panel <- panel[complete.cases(panel), ]
这就是为什么我需要一个代码来排除在级别 1 中没有记录的每个用户(这在我的数据集中意味着他在一个因变量(即活动数量)处具有“NA”)。
更新#1: 数据看起来像这样(感谢 thc):
> game_data <- data.frame(player = c(1,1,1,2,2,2,3,3,3), level = c(1,2,3,1,2,3,1,2,3), score=c(0,150,170,80,100,110,75,100,0))
> game_data
player level score
1 1 1 0
2 1 2 150
3 1 3 170
4 2 1 80
5 2 2 100
6 2 3 110
7 3 1 75
8 3 2 100
9 3 3 0
我现在想排除玩家 1 的数据,因为他在级别 1 中的得分为 0。
【问题讨论】:
-
寻求帮助时,您应该包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出。这样可以更轻松地为您提供帮助。
-
谢谢,以后我当然会这样做。
标签: r panel data-transform