小编leb*_*noz的帖子

在R中读取Excel:如何在凌乱的电子表格中找到起始单元格

我正在尝试编写R代码来从一堆旧电子表格中读取数据.数据的确切位置因工作表而异:唯一的常数是第一列是日期,第二列是"每月返回"作为标题.在此示例中,数据从单元格B5开始:

样本电子表格

如何使用R 自动搜索Excel单元格以查找"每月返回"字符串?

目前,我能想到的最好的想法是从单元格A1开始上传R中的所有内容,并在生成的(巨大的)矩阵中找出混乱.我希望有一个更优雅的解决方案

excel r

12
推荐指数
2
解决办法
3555
查看次数

如何"以整齐的方式"将列重命名为变量名称

我创建了一个简单的数据框(dput如下):

    date      ticker     value
------------------------------
  2016-06-30  A2M.ASX   0.0686
  2016-07-29  A2M.ASX  -0.0134
  2016-08-31  A2M.ASX  -0.0650
  2016-09-30  A2M.ASX   0.0145
  2016-10-31  A2M.ASX   0.3600
  2016-11-30  A2M.ASX  -0.1429
Run Code Online (Sandbox Code Playgroud)

我想将value列的名称更改为我的metric变量名称中的任何内容,我想以某种dplyr方式执行此操作.

我的样本数据:

df = structure(list(date = c("2016-06-30", "2016-07-29", "2016-08-31", "2016-09-30", "2016-10-31", "2016-11-30"), ticker = c("A2M.ASX", "A2M.ASX", "A2M.ASX", "A2M.ASX", "A2M.ASX", "A2M.ASX"), value = c(0.0686, -0.0134, -0.065, 0.0145, 0.36, -0.1429)), .Names = c("date", "ticker", "value"), row.names = c(NA, 6L), class = "data.frame")
metric = "next_return"
Run Code Online (Sandbox Code Playgroud)

我知道如何在一行中做到这一点:

colnames(df)[3] = metric
Run Code Online (Sandbox Code Playgroud)

但我想以某种tidyverse …

r dplyr tidyverse

9
推荐指数
1
解决办法
5758
查看次数

Portfolio Analytics包中的自定义预期回报

我在Portfolio Analytics包中加入自定义预期回报时遇到问题.通常预期回报是一些专业期望/观点,或与基本指标分开计算.Portfolio Analytics允许创建自定义时刻函数来计算过去回报的时刻,但我不明白如何将已经计算的回报合并到优化问题中.感谢任何帮助,这里是一个小示例数据集:

#Download package and sample returns
library(PortfolioAnalytics) 
library(PerformanceAnalytics)
data(edhec)
returns <- tail(edhec[,1:4], 10)

#Example expected return xts that I'm usually working with. Calculated separately.
N <- 10
M <- 4
views <- as.xts(data.frame(matrix(rnorm(N*M,mean=0,sd=0.05), N, M)), order.by = index(returns))
colnames(views) <- colnames(returns)
Run Code Online (Sandbox Code Playgroud)

让我们创建一些基本的投资组合.

pf <- portfolio.spec(assets = colnames(returns))
pf <- add.constraint(portfolio = pf, type = "full_investment")
pf <- add.constraint(portfolio = pf, type = "long_only")
pf <- add.objective(portfolio = pf, type = "return", name = "mean")
pf <- add.objective(portfolio = …
Run Code Online (Sandbox Code Playgroud)

optimization portfolio r r-portfolioanalytics

8
推荐指数
1
解决办法
1065
查看次数

为什么我在rubridate日期的功能如此之慢?

我写了这个我一直用的功能:

# Give the previous day, or Friday if the previous day is Saturday or Sunday.
previous_business_date_if_weekend = function(my_date) {
    if (length(my_date) == 1) {
        if (weekdays(my_date) == "Sunday") { my_date = lubridate::as_date(my_date) - 2 }
        if (weekdays(my_date) == "Saturday") { my_date = lubridate::as_date(my_date) - 1 }
        return(lubridate::as_date(my_date))
    } else if (length(my_date) > 1) {
        my_date = lubridate::as_date(sapply(my_date, previous_business_date_if_weekend))
        return(my_date)
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将其应用于具有数千行的数据帧的日期列时出现问题.这太慢了. 有什么想法为什么?

r date lubridate

8
推荐指数
3
解决办法
1256
查看次数

R时间序列对象ts()最小和最大日期

我想在R ts()对象中找到最小值和最大值的日期.我尝试了which.minwhich.max函数,但它们只返回"行号".我想输出实际的日期.谢谢.

data <- ts(round(rnorm(60), 2), frequency = 12, end = c(2016, 12))
data
which.min(data)
which.max(data)
Run Code Online (Sandbox Code Playgroud)

r time-series

7
推荐指数
3
解决办法
3286
查看次数

我可以从广义最小二乘模型中测试自相关吗?

我试图gls在我的面板数据上使用广义最小二乘模型(在R中)来处理自相关问题.我不希望任何变量有任何滞后.

我正在尝试使用Durbin-Watson测试(dwtest在R中)来检查我的广义最小二乘模型(gls)中的自相关问题.但是,我发现它dwtest不适用于gls功能,而它适用于其他功能,如lm.

有没有办法从我的gls模型中检查自相关问题?

regression r least-squares correlation panel-data

7
推荐指数
1
解决办法
736
查看次数

发布到Azure的Asp.Net App仅显示"您的应用服务应用已创建"

我在Visual Studio中创建了一个Asp.Net应用程序并将其发布到Azure.一切都看得很顺利,但是当我浏览网址时,我没有看到我的应用,而是看到了这个页面:

在此输入图像描述

c# asp.net publish azure

7
推荐指数
1
解决办法
2256
查看次数

引用全局命名范围而不引用工作表

我想将工作簿x中的一组命名范围中的数据导出到工作簿y中的另一组范围.要导出和输出的范围的名称在表"Table_Export"中指定.问题是我不想在这些相应的范围所在的工作表中加注,看到我不知道实际的工作表名称.但由于范围是全局的,因此应该可以在vba中引用它们而不引用相应的工作表?

相关代码可以在下面找到,其中if语句中的两个星号行中的任何一行都是我想要完成的.

Dim x As Workbook, y As Workbook    
Set x = ThisWorkbook
Set y = Workbooks.Open(Range("Export_to").Value)

Dim export_control As ListObject    
Set export_control = x.Sheets("Control").ListObjects("Table_Export")

Dim lr As Excel.ListRow    
For Each lr In export_control.ListRows
    If lr.Range(1).Value <> 0 Then    
        *'y.Names(lr.Range(2).Value).RefersToRange.Value = x.Names(lr.Range(1).Value).RefersToRange.Value*    
        *'y.Range(lr(Range(2).Value).Value = x.Range(lr(Range(1).Value).Value*    
    End If
Next
Run Code Online (Sandbox Code Playgroud)

excel vba range

6
推荐指数
1
解决办法
3113
查看次数

n()在summarise_at()中使用时表现不一致

使用此示例数据:

library(tidyverse)

set.seed(123)
df <- data_frame(X1 = rep(LETTERS[1:4], 6),
                 X2 = sort(rep(1:6, 4)),
                 ref = sample(1:50, 24),
                 sampl1 = sample(1:50, 24),
                 var2 = sample(1:50, 24),
                 meas3 = sample(1:50, 24))
Run Code Online (Sandbox Code Playgroud)

我可以summarise_at()用来计算列子集中的值的数量:

df %>% summarise_at(vars(contains("2")), funs(sd_expr = n() ))
Run Code Online (Sandbox Code Playgroud)

这不是很令人兴奋,因为它与行数相同.但是,它在具有嵌套列的表中很有用,每个单元格包含一个数据帧,每个单元格中的行数不同.

例如,

df %>% 
  mutate_at(vars(-one_of(c("X1", "X2", "ref"))), funs(first = . - ref)) %>% 
  mutate_at(vars(contains("first")),  funs(second = . *2 )) %>%
  nest(-X1) %>%  
  mutate(mean = map(data, 
                  ~ summarise_at(.x, vars(contains("second")),
                                     funs(mean_second = mean(.) ))),
         n = map(data, 
                  ~ summarise_at(.x, vars(contains("second")),
                                     funs(n_second = n() …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr purrr tidyverse

6
推荐指数
1
解决办法
1330
查看次数

我可以在打字稿中将一个接口继承到另一个接口吗?如何访问在继承的接口中定义的属性?

有两个接口,第一个是ICat,第二个是IMammalIMammal延伸ICat。中的Cat属性IMammal是否可以访问ICat接口的所有属性?

export interface ICat {
    Cateye: string[];
    Color: string;    
    Name: string;
}

export interface IMammal extends ICat {
    Description: string;
    HasImage: boolean;   
    CatGroup: string[];
    **Cat: ICat[]**;
}
Run Code Online (Sandbox Code Playgroud)

基本上,我如何在Typescript中实现多个接口继承?

typescript angular

6
推荐指数
2
解决办法
4082
查看次数