[英]looping+enviroments in R: assigning new variable name to column value
我正在嘗試創建一個環境來存儲 CSV 文件的每一行的信息。 我需要一些幫助來創建一個循環,將新環境中的變量名稱分配為與特定列的值相同。 我不太關心它的價值是什么,而是關心它的價值(稍后我會修改該值)。 我該怎么做呢?
例如,假設在 csvFile$Names 中,值為“Blargh”。 我想創建一個循環來創建一個變量 dataEnv$Blargh,它將 ANYTHING 作為其值。
到目前為止我所擁有的絕對是錯誤的:
dataEnv <- new.env()
for (value in csvFile$Names) {
dataEnv$Names <- c(Names)
}
如果我理解正確,您有一個字符串向量Names
,並且想要創建一個環境e
其中包含與Names
每個元素對應的對象,該元素作為其名稱並包含任意值。 使用 NULL 作為該值,我們有:
Names <- c("Blarg", "foo")
e <- new.env()
for(nm in Names) e[[nm]] <- NULL
或在一行中:
e <- list2env(Map(function(x) NULL, Names))
或者使用Names
的組件作為名稱和值:
e <- list2env(as.list(setNames(Names, Names)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.