Недавно я столкнулся со странным поведением 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
.Во втором примере это неоднозначно, потому что есть два столбца, начинающиеся с ebit.2018
.
Это правильно?Извините, если это общеизвестно или уже рассматривалось ранее, я просто хочу убедиться, что я правильно понимаю логику.