我有一个字符向量,其中包含不同城市的名称.

names <- c("Tokyo","Bangkok")

我想将每个城市名称存储在单独的字符向量中,这可以通过以下方式实现:

name_1 <- names[1]
name_2 <- names[2]

但是,我更愿意使用循环,我try 过这样做:

for (i in 1:2) {
  paste0("name_",i) <- paste0("names[",i,"]")
}

这会给我一条错误消息:

Error in paste0("name_", i) <- paste0("names[", i, "]") : 
  target of assignment expands to non-language object

我怎么才能解决这个问题呢?在我的实际数据中,我有数百个城市名称,这就是为什么我想使用循环或任何其他技术,使我不必 for each 城市名称编写新的代码行.

推荐答案

paste0在这里是转移注意力的事情;RHS不需要它.函数assign允许将变量作为字符串赋值:

for (i in 1:2) {
  assign(paste0("name_", i), names[i])
}

通常不推荐这样做.在这种情况下,可以用names[i]来引用相同的值,而不是用names_i来引用,但是您的用例可能不同.

R相关问答推荐

为什么stat_bin在R中的ggplot中显示错误的数字?

R -模运算后的加法

DT::可数据的正规表达OR运算符问题

如何在ggplot 2线性图的每个方面显示每个组的误差条?

基于不同组的列的相关性

在组中添加值增加和减少的行

提取具有连续零值的行,如果它们前面有R中的有效值

在R中,如何将变量(A,B和C)拟合在同一列中,如A和B,以及A和C在同一面板中?

比较理论阿尔法和经验阿尔法

SHINY:使用JS函数应用的CSS样式显示HTML表格

R -如何分配夜间GPS数据(即跨越午夜的数据)相同的开始日期?

从数据创建数字的命名列表.R中的框

Geom_arcbar()中出错:找不到函数";geom_arcbar";

无法将条件case_when()应用于使用!!创建的新变量Mutations

如何构建一个for循环来循环处理动物ID?

访问数据帧中未定义的列时出现R错误

在同一单元格中创建包含整数和百分比的交叉表

有没有办法更改ggplot2中第二个y轴的比例限制?

将R中对象的CSV数组转换为JSON数组

如何修复geom_rect中的层错误?