首页 > 解决方案 > 如何打印取决于矩阵长度的字符串?

问题描述

我正在尝试打印将提供给另一个软件(AMPL 求解器)的数据文件。

因此,我需要以求解器可以理解的方式打印数据。

在这里,我想打印I1, I2, I3, I4, ...我循环的给定矩阵中的行数。我想将此字符串存储在我将在write.table命令中调用的变量 setI 中。

我已经尝试了pastecat功能,但它们都没有产生我想要的东西。

x1.list <- matrix(rbind(c(1,2),c(3,4)), ncol = 2)

for (j in 1:nrow(x1.list)) {
    setI <- cat(paste("I",j))
  }

使用此命令,我收到I 1I 2并且它没有存储到setI. 应该是I1, I2,不带引号。

欢迎任何帮助!

标签: r

解决方案


x1.list <- matrix(rbind(c(1,2),c(3,4)), ncol = 2)

setI <- NULL
for (j in 1:nrow(x1.list)) {
  setI <- paste(setI,"I",j,",",sep="")
}

library('stringi')
setI <- stri_sub(setI, 1, -2)

setI这将像您的情况一样返回输出"I1,I2"


推荐阅读