【发布时间】:2022-01-19 02:52:31
【问题描述】:
我想构建我的函数来更改列名。
x1 = c(1:5)
x2 = c(6:10)
x = data.frame(
X1 = x1,
X2 = x2
)
myFunction = function(x) {
x <- rename(x, "newX1" = "X1")
x <- rename(x, "newX2" = "X2")
newX <- x
return(newX)
}
print(myFunction(x))
输出如下:
newX1 newX2
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
我可以看到我想要的结果,但是输出没有作为数据存储在我的内存中。 我想使用函数的输出(数据)进行下一个过程。
谢谢。
【问题讨论】:
-
试试
y <- myFunction(x)。 -
@Park OMG!这是如此简单的方法。非常感谢!!! :D
-
你也有很多不必要的代码,同样的:
myFunction <- function(x) {rename(x, "newX1" = "X1", "newX2" = "X2")}并且可以说,它甚至不应该是一个自定义函数,你可以使用y <- rename(... -
详细说明 Park 的回答:R 使用“按值调用”。这意味着输入参数被复制并在函数体中更改它们对传递的变量没有影响。
-
@rg255 当我进行数据清理时,我认为该功能是因为数据有很多列需要重命名过程。然后我可以通过将每个文件名放在 x 中来使用该函数。如果你有更好的想法,请告诉我。谢谢你的回答。