我想在函数中运行一些代码行。有一种简单的方法可以在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 "}"
感谢您的帮助!
答案 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()
使用双<<-
全局更改值,而不仅仅是在函数内部。