r - #R#二进制运算符#xts对象的非数字参数*整数

标签 r error-handling time-series xts finance

我有一个xts对象。因此,按日期排序的公司“已发行股份”的时间序列。
我想将“流通股”的时间序列乘以系数7,以解决股票分割问题。

> outstanding_shares_xts <- shares_xts1[,1]
> adjusted <- outstanding_shares_xts*7
错误:二进制运算符的非数字参数。
ts“oustanding_shares_xts”是一列整数。
有人有主意吗?

最佳答案

我的猜测是它们可能看起来像整数,但实际上不是。
侦听:

  • 我最初认为它可能是[ -vs- [[列的子集,因为tibble(a=1:2)[,1]不会产生整数 vector (它会产生单列标题),但是tibble(a=1:2)[,1] * 7仍然有效。
  • 然后我认为可能是由于factor造成的,但这是一个不同的错误:
    data.frame(a=factor(1:2))[,1]*7
    # Warning in Ops.factor(data.frame(a = factor(1:2))[, 1], 7) :
    #   '*' not meaningful for factors
    # [1] NA NA
    
  • 一种可能是您拥有看起来像整数的character值。
    dat <- data.frame(a=as.character(1:2))
    dat
    #   a
    # 1 1
    # 2 2
    dat[,1]*7
    # Error in dat[, 1] * 7 : non-numeric argument to binary operator
    
    尝试将该列转换为整数,例如
    str(dat)
    # 'data.frame': 2 obs. of  1 variable:
    #  $ a: chr  "1" "2"
    dat$a <- as.integer(dat$a)
    str(dat)
    # 'data.frame': 2 obs. of  1 variable:
    #  $ a: int  1 2
    dat[,1]*7
    # [1]  7 14
    
  • 关于r - #R#二进制运算符#xts对象的非数字参数*整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62489120/

    相关文章:

    r - R Markdown 的 Jekyll 转换器

    r - stargazer summary.stat 重新标记列标题

    Golang 返回 nil 不返回 nil

    从 R 中的向量列表中删除特定元素

    r - 将季度数据更改为每小时数据

    python - 如何在Python中引发异常?

    Java try catch(InputMismatchException)意外循环

    r - R 中 CARET 包中的 createTimeSlices 函数

    algorithm - 时间序列大数据集的聚类方法

    database - 指标与事件