我有一个数据框,想将值转换为变量。
我已经尝试过使用as.numeric(unlist ...)将它们一个接一个地拉出来(这不是一个很大的列表),但是我正在寻找一种更好的方法。
这是我的数据
dataframe = structure(list(V1 = c(564.58, 7834.1, 134.2), file = structure(c(2L,
1L, 3L), .Label = c("Blue", "Red", "Yellow"), class = "factor")), class = "data.frame", row.names = c(NA,
-3L))
我正在寻找这个:
Red = 564.58
Blue = 7834.1
Yellow = 134.2
有人可以建议一种更好的方法吗?
答案 0 :(得分:2)
以下应该起作用。使用V1
将值as.list
放入列表中,使用file
将名称设置为setNames
,然后使用{{1 }}:
list2env
在回答后,我还应该提到不鼓励这样做。爆炸矢量化数据以使用许多变量污染您的环境几乎没有什么好处,但是有很多缺点。关于list2env(setNames(as.list(df$V1), df$file), .GlobalEnv)
的讨论也适用于assign
。您可以here来了解它。