r - for循环中的变量名

标签 r for-loop

x_names <-c("x1","x2","x3")
data <- c(1,2,3,4)
fake <- c(2,3,4,5)

for (i in x_names)
{
  x = fake
  data = as.data.frame(cbind(data,x))  
  #data <- data %>% rename(x_names = x) 
}

我做了一个玩具示例。此代码将生成一个数据框,其中 1 列称为 data,3 列称为 x。我不想将列称为 x,而是将它们命名为 x1、x2、x3(存储在 x_names 中)。我把x_name放在代码中(注释掉),但是不起作用。你能帮我解决一下吗?

最佳答案

我们还可以使用 tidyverse 中的 map_dfc:

library(tidyverse)

cbind(data, map_dfc(x_names, ~ tibble(!!.x := fake)))

输出:

  data x1 x2 x3
1    1  2  2  2
2    2  3  3  3
3    3  4  4  4
4    4  5  5  5

关于r - for循环中的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56956381/

相关文章:

Javascript For 循环(带条件)

arrays - Bash:从另一个数组中删除一个数组中存在的项目

python - 在 Pandas 中使用 For 循环的数据框

r - 获取 R 文件而不运行它(单元测试)

mysql - 使用 R 将 JSON 数据加载到 SQL 数据库

C# 在控制台的单行上显示循环迭代

javascript - 如何在 android 的 Webview 中使用 Javascript 加载 HTML 代码

r - R 包 biomaRt 和此依赖项 RSQLite 出错

r - 仅当为空白或 "."时才需要修剪最后一个字符串

r - igraph 中的地理布局