R 对数据列表进行子集设置

R 对数据列表进行子集设置,r,csv,subset,R,Csv,Subset,我是新的R和编码一般,所以请容忍我 我有一个巨大的.csv金融期权价格文件,但有些是看涨期权('c'),有些是看跌期权('p'),它们只是在一个连续的列表中。在.csv文件中,它们是交替的,因此一行将是调用的数据,而下一行将是相同时间段内具有相同安全性的put的数据。我如何才能解析出调用(put)的数据 此外,数据是按日期排列的,但每个日期都有多个数据段(日内数据)。在这些日内数据点中,有多个不同价格的(成交量)数据。我想建立一个正态分布所说的数据在不同的价格每一天;我该怎么做 symbol

我是新的R和编码一般,所以请容忍我

我有一个巨大的.csv金融期权价格文件,但有些是看涨期权('c'),有些是看跌期权('p'),它们只是在一个连续的列表中。在.csv文件中,它们是交替的,因此一行将是调用的数据,而下一行将是相同时间段内具有相同安全性的put的数据。我如何才能解析出调用(put)的数据

此外,数据是按日期排列的,但每个日期都有多个数据段(日内数据)。在这些日内数据点中,有多个不同价格的(成交量)数据。我想建立一个正态分布所说的数据在不同的价格每一天;我该怎么做

symbol  exchange    date    stock_close_price   option_symbol   expiration  strike  call/put
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00015000   8/18/12 15  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00015000   8/18/12 15  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00017500   8/18/12 17.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00017500   8/18/12 17.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00020000   8/18/12 20  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00020000   8/18/12 20  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00022500   8/18/12 22.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00022500   8/18/12 22.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00025000   8/18/12 25  C

如果数据在R数据框“dfrm”中,且列为“transtype”、“trans_date_time”、“volume”,且日期时间值为POSIXct格式,则应生成呼叫事务的每日音量摘要。我不确定我是否知道您所说的“在每天不同的价格上构建所述数据的正态分布”是什么意思,但如果您的意思是显示每日量的分布,则可以使用
hist
绘图功能轻松完成

set.seed(123)
dfrm <- data.frame(transtype = c("c","p")[sample(1:2, 20, rep=TRUE)], 
                   trans_date_time = as.POSIXct( Sys.Date() - 20) + 
                                         rnorm(100, 24*60*60, 3*24*60*60) , 
                   volume = 100*rpois(100, 5) )
str(dfrm)
dailycallvol <- with( subset( dfrm, transtype == "c"), 
                    aggregate( volume,
                      by = list( day= format(trans_date_time, format="%Y-%m-%d")),
                      FUN=sum) )
hist( dailycallvol[[2]] )
set.seed(123)

dfrm编辑您的问题以包括文件的前10行。此外,还要定义巨大的(有多少列和行或多少GB)。不要期望收到电子邮件。如果你得到答案,你会在这个网站上找到它。任何基本的R教程都会告诉你如何读取文件以及如何从数据框中选择行。先去做一些基础研究。每个SO帖子只问一个问题。我担心如果你不能了解这个网站的格式设置,你将无法掌握任何编程语言。学习查找和阅读帮助。您可以通过选择已解析的代码并按下
{}
图标来“修复”代码。我建议新用户使用复选按钮:“是的,我包含了”;)好的,抱歉,只是开玩笑,但一定要查看该链接,它非常有用。这就像是在家庭不和中,当参赛者在问题被阅读之前蜂拥而至。感谢您的回复。代码对我来说还是有点陌生,但我明白你的意思了。想象一下旋转的豌豆。(我们R程序员是一个相当具体的群体。也许添加示例会让这更真实。它确实让我在想象的代码中发现了一些错误。)