意外的等号错误

时间:2015-06-18 09:45:47

标签: r string date

我正在尝试创建一个列表,其中列名是来自字符串列表的日期字符串。让我们说我的字符串列表是:

stringList=list("1-1-2001","1-1-2002")

我想创建一个这样的列表:

AList= list(stringList[[1]]=5)

当我显示它时,我会得到类似的东西:

$`1-1-2001`
# [1] 5

这可能吗?如果我直接写字符串,这是有效的,否则我会收到错误:

  

错误:意外' =' in" AList = list(stringList [[1]] ="

2 个答案:

答案 0 :(得分:1)

应避免使用无效语法的名称。

如果你真的想要这个(为什么?),setNames可能最简单:

Alist <- setNames(list(1, 2), stringList)

你也可以这样做:

Blist <- list()
Blist[[stringList[[1]]]] <- 3

答案 1 :(得分:0)

试试这个例子,我们需要使用引号或反引号来访问无效的列名。

stringNames=c("1-1-2001","1-1-2002")

stringList <- list(5,6)
names(stringList) <- stringNames

#this gives errors
stringList$1-1-2001
# Error: unexpected numeric constant in "stringList$1"

#we can use backticks - ` `
stringList$`1-1-2001`
# [1] 5

#or we can use quotes - " " , thanks @Roland
stringList$"1-1-2001"
# [1] 5