美文网首页
R语言中无法循环生成向量名的解决方法

R语言中无法循环生成向量名的解决方法

作者: 黄海菌 | 来源:发表于2020-08-12 19:52 被阅读0次

R语言中有时需要在循环中生成一个向量,之后再把每一个循环的结果组成一个数据框。这个过程中可能遇到一个问题:向量生成方法只有x<-c(),没有name=xxx之类的参数,无法用paste0之类的函数循环生成多个不同名子的向量,这就造成了新的向量会覆盖掉旧的向量。这里提供几个可行的解决方法:

  1. 生成一个list,通过list[[i]]<-c()保存变量,之后再用as.data.frame()转化为数据框,例如:
x1 <- list()
for (i in (1:10)){
  a <- c(rep(1,i-1),i:11)
  x1[[i]] <- a
}
x2 <- as.data.frame(x1)  
  1. 提前生成一个向量和数据框,之后每个循环都用rbind()或cbind()合并,这样最后也能得到一个数据框

  2. 提前预估生成的数据长宽,用matrix()生成一个全是NA的矩阵,转化成dataframe,然后赋值

    (不直接对dataframe赋值是因为dataframe$i <-vector会报错,因为你生成的空dataframe跟输入的向量行数不同)
    例如:

df1 <- data.frame(matrix(NA,nrow = 11,ncol = 11))
x1 <- list()
for (i in (1:10)){
  a <- c(rep(1,i-1),i:11)
  df1[i,] <- a
}
  1. 用write.csv()或者save()等函数保存下来,这些函数是有filename=“”之类的命名参数的,之后再批量读取

相关文章

  • R语言中无法循环生成向量名的解决方法

    R语言中有时需要在循环中生成一个向量,之后再把每一个循环的结果组成一个数据框。这个过程中可能遇到一个问题:向量生成...

  • R语言流程控制

    都知道R语言是向量式编程,可是有时候确实需要用到循环语句,这里就介绍R语言里面的主要循环——for循环。 与其它语...

  • R基础快速入门(2)

    文集地址 R语言快速入门 R语言变量 R语言中的变量可以存储原子向量,原子向量组或许多R对象的组合 注意:使用ca...

  • R语言中的向量和标量

    R语言中最基本的数据类型是向量,与C语言家族不同,R语言中,单个数据(标量)没有单独的数据类型,它只是向量的一种特...

  • R语言之基础

    一:R语言之基本数据结构 1. 向量 向量是 R 语言中最基本的数据类型,在 R 中没有单独的标量(例如 1 本质...

  • 学习小组Day5笔记--ASPIRE1

    理解R语言中两种数据类型 向量(vector)数据框(data frame)

  • 学习R语言(一)

    装好R后进入R环境: 0.安装 1.向量 R语言没有标量,只有向量。如数字1,R中存储为c(1) 赋值 筛选 R语...

  • R语言笔记1:初识数据结构

    简介 R语言是一套开源的数据分析解决方案。R语言中提供了多种存储数据的对象类型,包括标量(R语言中的标量是由向量的...

  • 学习小组Day5笔记—行

    R语言中两个重要的数据类型:向量和数据框 向量 向量是用于存储数值型、字符型或逻辑型数据的一维数组。1、向量的创建...

  • 生信学习小组Day5笔记-lamyusam_

    R语言学习 今天,了解了R中的数据类型,初步学习R语言的数据结构。 R的数据类型 向量(vector) R语言中的...

网友评论

      本文标题:R语言中无法循环生成向量名的解决方法

      本文链接:https://www.haomeiwen.com/subject/sjimdktx.html