Как я понял из вашего комментария, вы хотите создать фрейм данных с именем {CC}_{N}
в своей среде вызова в качестве побочного эффекта вашей функции.
Это может быть достигнуто следующим образом:
# first build sample data
set.seed(1)
Data <- list(iris[sample(nrow(iris),5),], iris[sample(nrow(iris),5),])
Data
#> [[1]]
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 68 5.8 2.7 4.1 1.0 versicolor
#> 129 6.4 2.8 5.6 2.1 virginica
#> 43 4.4 3.2 1.3 0.2 setosa
#> 14 4.3 3.0 1.1 0.1 setosa
#> 51 7.0 3.2 4.7 1.4 versicolor
#>
#> [[2]]
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 85 5.4 3.0 4.5 1.5 versicolor
#> 21 5.4 3.4 1.7 0.2 setosa
#> 106 7.6 3.0 6.6 2.1 virginica
#> 74 6.1 2.8 4.7 1.2 versicolor
#> 7 4.6 3.4 1.4 0.3 setosa
iris_Load <- function(N, CC){
nm <- paste(CC, N, sep = "_")
res <- subset(Data[[N]], Species == CC)
assign(nm, res, envir = parent.frame()) # create your object with right name and value in calling environment
invisible() # will return NULLL without printing
}
iris_Load(1, "setosa")
setosa_1
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 43 4.4 3.2 1.3 0.2 setosa
#> 14 4.3 3.0 1.1 0.1 setosa
Если вы можете позволить себе сделать следующее, возможно, это лучшая практика, однако функции с побочными эффектами могут быть неожиданными и, как правило, не приветствуются в большинстве случаев: