【发布时间】:2012-01-29 03:09:36
【问题描述】:
我有一个大函数,它的向量定义如下:
v <- mat.or.vec(length(communities), 1)
names(v) <- communities
而且,我在循环中访问v 的元素,如下所示
for(c in communities){
v[c] = 1
}
在编写和测试此代码时,列表communities 是一个字符串列表。但是今天当我在一个包含communities 列表中所有整数值的数据集上运行它时,我的函数崩溃了。我花了一段时间才弄清楚,当communities 是一个整数列表时,c 是一个整数,v[c] 访问的是 v 的 cth 元素而不是 @ 的元素987654330@,名称为c。
我可以使用v[as.character(c)] 之类的东西来解决这个问题。有许多这样的变量面临同样的问题。
这个问题有更优雅的解决方案吗?
【问题讨论】:
标签: r