use*_*608 2 r vector dataframe
我有一个简单的两个矢量数据帧(长度= 30),看起来像这样:
> mDF
Param1 w.IL.L
1 AuZgFw 0.5
2 AuZfFw 2
3 AuZgVw 74.3
4 AuZfVw 20.52
5 AuTgIL 80.9
6 AuTfIL 193.3
7 AuCgFL 0.2
8 ...
Run Code Online (Sandbox Code Playgroud)
我想使用每一行来形成30个单值数值向量,其中包含从中获取的向量的名称mDF$Param1
,以便:
> AuZgFw
[1] 0.5
Run Code Online (Sandbox Code Playgroud)
等等
我尝试过融化和铸造,但我怀疑可能有更简单的方法吗?
最简单/最短的方法是apply
assign
遍历行:
mDF <- read.table(textConnection("
Param1 w.IL.L
1 AuZgFw 0.5
2 AuZfFw 2
3 AuZgVw 74.3
4 AuZfVw 20.52
5 AuTgIL 80.9
6 AuTfIL 193.3
7 AuCgFL 0.2
"),header=T,stringsAsFactors=F)
invisible(apply(mDF,1,function(x)assign(x[[1]],as.numeric(x[[2]]),envir = .GlobalEnv)))
Run Code Online (Sandbox Code Playgroud)
这涉及将数据帧的第二列转换为字符串和从字符串转换. invisible
只有抑制输出apply
.
编辑:您还可以使用mapply
以避免与字符串的纠缠:
invisible(mapply(function(x,y)assign(x,y,envir=.GlobalEnv),mDF$Param1,mDF$w.IL.L))
归档时间: |
|
查看次数: |
621 次 |
最近记录: |