最近,我遇到了一个奇怪的R行为,我想更好地理解。
让我们假设以下两个例子:
Example 1:
ebit.2018_base <- c(1,2,3,5,7,3,2)
ebit.2017_base <- c(1,2,3,5,7,3,2)
ebit <- data.frame(ebit.2018_base, ebit.2017_base)
ebit$test <- ebit$ebit.2018 * 5
r可以用这个列名计算,即使它不完全匹配。
Example 2
ebit.2018_base <- c(1,2,3,5,7,3,2)
ebit.2018_notbase <- c(1,2,3,5,7,3,2)
ebit.2017_base <- c(1,2,3,5,7,3,2)
ebit <- data.frame(ebit.2018_base, ebit.2018_notbase, ebit.2017_base)
ebit$test <- ebit$ebit.2018 * 5
这不起作用。
我的假设是:
在第一个示例中,R可以清楚地理解我所指的列
ebit.2018_base
用这个词
ebit.2018
. 在第二个示例中,它是不明确的,因为有两列以开头
EBIT2018
.
这是正确的吗?抱歉,如果这是常识,或者之前已经解决过,我只是想确保我正确理解背后的逻辑。