r - 如何创建一个循环粘贴到R中循环迭代的末尾
问题描述
我正在尝试编写创建字符向量的循环。我希望每个元素在添加更多字符串的同时复制最后一个元素。例如:
f <- "y ~ x1" "y ~ x1 + x2" "y ~ x1 + x2 + x3" "y ~ x1 + ... + x100"
到目前为止,我有:
f <- character(100)
for(i in 1:100){
f[i] <- paste0("y ~ x1 +",i)
}
[1] "y ~ x1 +1" "y ~ x1 +2" "y ~ x1 +3" "y ~ x1 +4"
但无法弄清楚如何将每个最后一次迭代与每个新迭代结合起来。任何帮助表示赞赏!
谢谢
解决方案
试试这个方法。您可以结合两个paste0()
广告使用循环中的索引以智能方式创建公式。这里的代码:
#Code
f <- character(100)
#Loop
for(i in 1:100){
f[i] <- paste0("y ~ ",paste0("x",1:i,collapse = ' + '))
}
输出(只有一些值):
head(f)
[1] "y ~ x1" "y ~ x1 + x2"
[3] "y ~ x1 + x2 + x3" "y ~ x1 + x2 + x3 + x4"
[5] "y ~ x1 + x2 + x3 + x4 + x5" "y ~ x1 + x2 + x3 + x4 + x5 + x6"
或简化版本lapply()
:
#Code2
f <- lapply(1:100,function(i) paste0("y ~ ",paste0("x",1:i,collapse = ' + ')) )
它将产生相同的输出。
推荐阅读
- c# - 不同视图/视图模型的 WPF 主菜单
- reactjs - 如何在单文件模式下使用 dropzone?
- node.js - AWS SDK 无法在 React 应用程序中获取凭证
- android - CameraX beta03 和底页滚动问题
- c++ - C++ 为什么我收到类的错误重新定义?
- ios - Xamarin.Forms:iOS 上的软键盘隐藏视图
- java - 在 Docker 中运行的 Apache FTP 客户端在从外部服务器检索文件内容时出现问题
- protractor - 不能红色属性“getText”量角器
- java - 我一直在 android 的 SQLITE Database 上做一些编码,如何在 DatabaseHelper.java 中编写 Where 子句语句
- javascript - 如何允许用户只写 00 到 24 之间的数字