【发布时间】:2021-11-10 04:39:59
【问题描述】:
我有一个数据框,我在其中创建新列。其中一些依赖于现有的列。如果我在没有任何二进制操作的情况下基于现有列创建新列,则它可以正常工作。但是,如果我尝试基于对现有列的某些二元运算创建新列,则会出现错误。这是我的代码:
d9 = data1 //data1 is a dataframe
d9['A/B/C'] <- numeric()
d9['A'] <- d9$INTERVAL
d9['B'] <- 0.75*d9$INTERVAL
d9['C'] <- 1
这是错误:
0.75 * d9$INTERVAL 中的错误:二元运算符的非数字参数
我也试过了:
d9['B'] <- as.numeric(0.75*d9$INTERVAL)
但我仍然遇到同样的错误。
【问题讨论】:
-
什么是
d9$INTERVAL?从错误看来,它不是数字。如果您创建一个小的可重现示例以及预期的输出,则更容易提供帮助。阅读how to give a reproducible example。 -
这是一个基于它创建两个新列的列。假设 INTERVAL 是数据框中的唯一列,并且新列是在它之上创建的。例如间隔 = 10 A/B/C = 2 A = 10 , B = 7.5, C =1 间隔 = 20 A/B/C = 4 A = 20 , B = 15, C =1 间隔 = 40 A/B/C = 6 A = 40 , B = 30, C =1
标签: r dataframe shiny rstudio-server