【发布时间】:2014-08-26 22:16:15
【问题描述】:
依靠the thread here,我把R“字典”做成如下:
boxes_sent <- vector(mode="list", length=4)
boxes_sent <- c("NE01", "NE02", "NE03", "NE04")
names(boxes_sent) <- c(seq(1:4))
boxes_rcvd <- vector(mode="list", length=4)
boxes_rcvd <- c("NW01", "NW02", "NW03", "NW04")
names(boxes_rcvd) <- c(seq(from = 13, to =16))
boxes_all <- c(boxes_rcvd, boxes_sent)
> boxes_all
13 14 15 16 1 2 3 4
"NW01" "NW02" "NW03" "NW04" "NE01" "NE02" "NE03" "NE04"
调用names(boxes_all)[[1]] 返回“13”,而boxes_all[[1]] 返回“NW01”,两者都对应于列表中的第一项。但是,我认为这会根据我在执行names(boxes_sent) <- c(seq(1:4)) 时建立的键/值对返回“NE01”。如何修改以便调用names(boxes_all)[[1]] 返回“NE02”?在我的数据集中,我有 39 个用于字典的键/值对。
我想使用names() 来执行此操作,尽管我尝试了the thread here 中建议的环境但没有成功:
boxes_sent<-new.env()
boxes_sent[["NE01", "NE02", "NE03", "NE04"]]<-c(seq(1:4))
boxes_rcvd <- new.env()
boxes_rcvd[["NW01", "NW02", "NW03", "NW04"]]<-c(seq(from = 13, to =16))
Error in boxes_sent[[c("NE01", "NE02", "NE03", "NE04")]] <- c(seq(1:4)) :
wrong args for environment subassignment
感谢您的时间和关注。
R 版本 3.0.3
【问题讨论】:
-
你试过
order或sort吗?也许,我误解了这个问题。 box_all1
标签: r dictionary hash environment