r - 当受访者编号在列中重复时,对数据框的行进行子集化
问题描述
我有一个巨大的数据集,部分是汇集横截面,部分是面板数据:
Year Country Respnr Power Nr
1 2000 France 1 1213 1
2 2001 France 2 1234 2
3 2000 UK 3 1726 3
4 2001 UK 3 6433 4
我想从组合数据中过滤面板数据并尝试以下操作:
> anyDuplicated(df$Respnr)
[1] 45047 # Out of 340.000
dfpanel<- subset(df, duplicated(df$Respnr) == TRUE)
然而,新的 df 减少到零观测值。以下导致了预期的观察量:
dfpanel<- subset(df, Nr < 3)
知道可能是什么问题吗?
解决方案
虽然我还没有弄清楚为什么以前没有工作,但以下确实提供了一个可行的解决方案。我只是简单地拆分了以前的方法。该解决方案添加了一个列panel
,在我的情况下,这实际上是一个受欢迎的添加
df$panel <- duplicated(df$Respnr)
dfpanel <- subset(df, df$panel == TRUE)
推荐阅读
- javascript - 创建 Sankey/冲积图,其中链接在节点处组合
- javascript - 面临问题 ##[error]Error: Not found wrapperScript: /home/vsts/work/1/s/gradlew
- python - FileNotFoundError: [WinError 2] 系统找不到指定的文件- MP3- to WAV 转换
- html - 背景颜色仅在顶部
- laravel - 下拉选择后 Laravel Livewire 自动填充输入框
- json - 从 JSON API 响应中提取记录并将它们放入 Delta Table
- flutter - 迁移到空安全后无法编译我的应用程序
- python-3.x - Python 虚拟环境、包名和 pip
- excel - 使用大数据时出错 System.OutOfMemoryException
- haskell - 为 RoseTree 定义 fmap