【问题标题】:Multiplying/dividing columns in a data frame in r在r中的数据框中乘/除列
【发布时间】:2015-04-17 19:26:16
【问题描述】:

我有一个数据框,我想在其中添加一个新列,该列是其他两列的乘积,除以 100。

我尝试使用的命令是:

fulldata$Conpolls <- fulldata$Conprct/100 * fulldata$Total.seats 

我收到的:

错误:“full.data$Conpolls

当我尝试将流程分为两个步骤时:

fulldata$Conpolls <- fulldata$Conprct * fulldata$Total.seats 

我得到错误:

二元运算符的非数字参数。

非常感谢有经验的用户提供的任何提示或帮助!

【问题讨论】:

  • 检查str(fulldata) 以查看列是否为数字。
  • 你能发帖dput(fulldata)dput(head(fulldata))吗?也许您的一列具有字符类型,因此出现错误(但您在终端或 Rstudio 中“看到”的内容似乎是数字。要检查此内容,请尝试 typeof(full.data$Conpolls)typeof(fulldata$Conprct)

标签: r multiplication


【解决方案1】:

如果所有列都是数值,则 Veerendra Gadekar 的答案应该是正确的。

如果不保证您进行操作的列是数字,您可以使用as.numeric() 将它们转换为数字值。它应该是这样的:

fulldata$Conpolls <- (as.numeric(fulldata$Conprct) * as.numeric(fulldata$Total.seats))/100

【讨论】:

    【解决方案2】:
    fulldata$Conpolls <- (fulldata$Conprct * fulldata$Total.seats)/100
    

    这并不能回答问题,但是这应该是编写此类算术运算的正确语法。是的,正如 cmets 中提到的,您应该检查您正在使用的对象的类以找出问题所在

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-22
      相关资源
      最近更新 更多