Я пишу простую функцию, которая принимает два аргумента (состояние, результат). State используется для подмножества данных в дальнейшем.Передача аргументов в функции и области переменных в R
Сказав это, часть требования состоит в том, что состояние представляет собой вектор длиной 2 символа. Мне нужно написать больше кода, чтобы гарантировать, что переданное состояние соответствует этому требованию.
Так что я написал следующее:
best <- function(state, outcome) {
outcome <- read.csv("outcome-of-care-measures.csv", colClasses = "character")
state <- vector(mode = "character", length = 2)
st.checkTbl <- outcome[8]
state
}
Однако, когда я вызываю функцию и передать аргументы:
best("AXA") or best("FOO") or even best("TX") or best(AL)
Все, что я получить обратно есть: "" ""
Если я прокомментирую #state < - ..., то он полностью передает аргумент и печатает «FOO» или «AXA» или «TX» и т. Д.
Как я могу гарантировать, что аргумент, переданный функции, сохраняется как переменная (состояние) в функции? Или, я так переоцениваю это? На самом деле я просто хотел проверить, что то, что я передаю аргументу состояния, можно распечатать для тестирования.
. Извините за 101 урок.
Похоже, вы передумали.Кроме того, не совсем ясно, что должна делать эта функция, поскольку все, что она вернет, это пустой вектор символов или, если вы закомментируете строку, исходное значение, которое вы указали для 'state'. Вы можете указать раздел «написать свои собственные функции» в разделе [Введение в R-руководство] (http://cran.r-project.org/doc/manuals/r-release/R-intro.html#Writing- своя собственная функция). – Thomas
Независимо от того, что вы положили для состояния, вы переопределите его с помощью 'state <- vector (...)' внутри функции –
Томас, я думаю, вы правы. Я слишком задумываюсь о том, что R просто знает, что делать с моим аргументом штата. Я пытаюсь понять, как он знает, куда отправить значение состояния и доказать себе, что он фактически делает то, что я хочу, чтобы он делал. – Zach