Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我如何找到一只股票的最大价值并在它发生的当天返回_R_Max - Fatal编程技术网

R 我如何找到一只股票的最大价值并在它发生的当天返回

R 我如何找到一只股票的最大价值并在它发生的当天返回,r,max,R,Max,我有一个股票每日收益率的小数据集,我必须编写一个函数,找到最高收益率并提取它发生的日期。有什么建议吗 这是数据集: > df VWD_RET DATE Daily_Return 1 0.009312 2015-03-20 Fri 2 -0.001045 2015-03-23 Mon 3 -0.004701 2015-03-24 Tue 4 -0.014949 2015-03-25 Wed 5 -0

我有一个股票每日收益率的小数据集,我必须编写一个函数,找到最高收益率并提取它发生的日期。有什么建议吗

这是数据集:

> df
    VWD_RET       DATE Daily_Return
1  0.009312 2015-03-20          Fri
2 -0.001045 2015-03-23          Mon
3 -0.004701 2015-03-24          Tue
4 -0.014949 2015-03-25          Wed
5 -0.002183 2015-03-26          Thu
6  0.002501 2015-03-27          Fri
7  0.011713 2015-03-30          Mon
8 -0.007162       <NA>         <NA>
> 
>df
VWD RET日期每日退货
1 0.009312 2015-03-20星期五
2-0.001045 2015-03-23周一
3-0.004701 2015-03-24星期二
4-0.014949 2015-03-25星期三
5-0.002183 2015-03-26周四
6 0.002501 2015-03-27星期五
7 0.011713 2015-03-30周一
8 -0.007162                
> 
执行以下操作:

df$Daily_Return[ df$VWD_RET == max(df$VWD_RET) ]

表达式
df$VWD_RET==max(df$VWD_RET)
将返回一个真和假向量,仅在那些等于最大值的值上为真

练习R语法有很多选择

基本包

输出:

[1] "Mon"
  Daily_Return
1          Mon
[1] "Mon"
  Daily_Return
1          Mon
dplyr

输出:

[1] "Mon"
  Daily_Return
1          Mon
[1] "Mon"
  Daily_Return
1          Mon
VWD\u RET
降序订购,然后选择
Daily\u Return

arrange(df, desc(VWD_RET))[1, 3]
输出:

[1] "Mon"
  Daily_Return
1          Mon
[1] "Mon"
  Daily_Return
1          Mon
sqldf

输出:

[1] "Mon"
  Daily_Return
1          Mon
[1] "Mon"
  Daily_Return
1          Mon

我想答案就在那里:谢谢,但我不认为这是答案。实际上,我需要找到“VWD_RET”上的最大值,并得到一个表示“星期一”的答案(这是最高值)。我曾经尝试过这样做:max(df$VWD_RET,by=df$Daily_Return),但得到的答案是NA。非常感谢,这很有效:-)