有没有一种方法可以将列添加到函数形式的数据框中
dfs <- function(){iris}
d <- nrow(dfs())
dfs()$new <- seq_len(d)
Error in dfs()$new <- seq_len(d) : invalid (NULL) left side of assignment
预期输出
head(dfs())
Sepal.Length Sepal.Width Petal.Length Petal.Width Species new
1 5.1 3.5 1.4 0.2 setosa 1
2 4.9 3.0 1.4 0.2 setosa 2
3 4.7 3.2 1.3 0.2 setosa 3
4 4.6 3.1 1.5 0.2 setosa 4
5 5.0 3.6 1.4 0.2 setosa 5
6 5.4 3.9 1.7 0.4 setosa 6
最佳答案
全局环境中没有创建对象。在这种情况下,我们可以使用 transform
transform(dfs(), new = seq_len(d))
或者使用
`[<-`(dfs(), "new", value = seq_len(d))
如果我们想使用$
,创建一个对象
tmp <- dfs()
tmp$new <- seq_len(d)
https://stackoverflow.com/questions/70625471/