全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2468 11
2019-01-09
悬赏 100 个论坛币 已解决
示例如下:

对P分组,如果此时q<1,那么删除整个p=1的观测,按照这种规则,最后产生的结果只剩p=2和p=5的所有观测,请问如果实现该功能。示例非常简单,实际数据非常庞大,可能需要写循环。。求高手


最佳答案

cheetahfly 查看完整内容

这个不算复杂 library(tidyverse) myData %>% filter(Permno %in% (myData %>% group_by(Permno) %>% filter(abs(prc) == min(abs(prc)), abs(prc) > 1) %>% pull(Permno)))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-1-9 14:24:04
这个不算复杂
library(tidyverse)
myData %>%
  filter(Permno %in% (myData %>%
                                   group_by(Permno) %>%
                                   filter(abs(prc) == min(abs(prc)),
                                          abs(prc) > 1) %>%
                                   pull(Permno)))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-9 21:49:21
没有看见示例
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-10 06:24:25
题目表述非常不清楚,如果只需要留下p=2或者p=5的观测的话,可以用

dat[dat$p ==2 | dat$p ==5, ]

不知道你这里的q指的是什么。大量数据的话也不要写循环,R的循环非常慢,一般都可以用矢量化的句子来代替。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-10 08:50:49
现在重新解释一下,Permno是股票代码,abs(prc)是每月的closing price, 举例,对于permno=10000的股票而言,只要有一个月份的c'losing price小于1,那么就删除Permno=10000的所有月份的观测。以此类推 sh.PNG
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-10 08:51:31
caimiao0714 发表于 2019-1-10 06:24
题目表述非常不清楚,如果只需要留下p=2或者p=5的观测的话,可以用

dat[dat$p ==2 | dat$p ==5, ]
你好,我又重新解释了下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群