R stats-生成增量变量

R stats-生成增量变量,r,R,我是R编程新手,面临一个简单的问题,但找不到任何解决方案 在其他编程语言中,可以将增量命名的变量生成到循环中。这在R中可能吗?怎么做 例如,我希望在每次循环完成时将操作的输出保存到新变量中: for(i in 1:5) { var_[i] <- i + pi } for(1:5中的i){ var_i[i]在R中,你尝试的文字版本通常被认为是不好的做法 我们通常避免创建大量孤立数据结构的集合。将它们全部放在一个列表中,然后设置它们的名称属性,这样会更干净: x <- vect

我是R编程新手,面临一个简单的问题,但找不到任何解决方案

在其他编程语言中,可以将增量命名的变量生成到循环中。这在R中可能吗?怎么做

例如,我希望在每次循环完成时将操作的输出保存到新变量中:

for(i in 1:5) {
    var_[i] <- i + pi
}
for(1:5中的i){

var_i[i]在R中,你尝试的文字版本通常被认为是不好的做法

我们通常避免创建大量孤立数据结构的集合。将它们全部放在一个列表中,然后设置它们的名称属性,这样会更干净:

x <- vector("list",5)
for (i in seq_len(5)){
    x[[i]] <- i + pi
}

names(x) <- paste0("var_",1:5)

虽然这在R中是可能的,但不鼓励这样做。最好使用命名列表或向量或累积结果。例如,在这里,您可以将它们存储为向量

myvar<-1:5+pi
# myvar[1] == 4.141593
# myvar[5] == 8.141593

MyVar在
列表中收集所有向量后也会出现
list2env
。是否可以使用数据帧列表执行此操作?
myvar<-1:5+pi
# myvar[1] == 4.141593
# myvar[5] == 8.141593
myvar <- lapply(1:5, function(x) {x+pi})
names(myvar)<-paste("var", 1:5, sep="_")
# myvar[["var_1"]] == myvar[[1]] == 4.141593