9lotus 谢谢你,不过和需求有一定出入哈。我想要输出的结果是:
("tom", "A1", "A3", "A6"),
("jerry", "A4", "A5", "A6")
而你的代码中s1
和s2
输出的结果如下,带##
的是运行结果:
s1
## [1] "tom" "A1" "A3" "A6"
s2
## [1] "jerry" "A4" "A5" "A6"
不过确实可以在你的代码的基础上实现我的需求:
# 你原来的代码
mydata <- data.frame(tom = c(1, 3, 6),
jerry = c(4, 5, 6))
s1 <- c(names(mydata)[1], paste0("A", mydata$tom))
s2 <- c(names(mydata)[2], paste0("A", mydata$jerry))
# 要输出的字符串其实可以分成3部分:前面的括号引号,中间的部分,和后面的括号引号逗号
target_ls <- vector("list", 3)
target_ls[[1]] <- '("'
target_ls[[2]] <- capture.output(cat(s1, sep = '", "'))
target_ls[[3]] <- '"),'
cat(target_ls[[1]], target_ls[[2]], target_ls[[3]], sep = "")
## ("tom", "A1", "A3", "A6"),
在这个基础上加个循环就可以。谢谢你的帮助哈!