在R函数中运行多个代码行

时间:2018-05-29 17:01:44

标签: r

我想在函数中运行一些代码行。有一种简单的方法可以在R中运行多个代码行,所以我不需要一个接一个地运行一个代码行吗? 例如,像Java中的void方法一样?

a() {
data$Item <- gsub(" Grams ", "g ", data$Item);
data$Item <- gsub("Grams ", "g ", data$Item);
data$Item <- gsub(" GRAMS ", "g ", data$Item);
data$Item <- gsub("GRAMS ", "g ", data$Item);
data$Item <- gsub("grams", "g ", data$Item);
data$Item <- gsub("Grams", "g ", data$Item);
}

如果我运行一个(),所有命令都已完成,但它也说 - &gt;

Error: unexpected '}' in "}"

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以简单地将字符串放在小写字母中并执行单个gsub(),然后使用trimws()处理额外的空格。

data$Item <- gsub("grams", "g ", tolower(data$Item))

但是你可以制作这样的函数:

my_function <- function() {
    data$Item <<- gsub(" Grams ", "g ", data$Item)
    data$Item <<- gsub("Grams ", "g ", data$Item)
    data$Item <<- gsub(" GRAMS ", "g ", data$Item)
    data$Item <<- gsub("GRAMS ", "g ", data$Item)
    data$Item <<- gsub("grams", "g ", data$Item)
    data$Item <<- gsub("Grams", "g ", data$Item)
}
my_function()

使用双<<-全局更改值,而不仅仅是在函数内部。