簡體   English   中英

R 中的循環+環境:將新變量名分配給列值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM