以下情況之一應該爲您做,假設您的data.frame
被命名爲「mydf」。
lapply(names(mydf), function(x) assign(x, mydf[x], envir = .GlobalEnv))
lapply(names(mydf), function(x) assign(x, mydf[, x], envir = .GlobalEnv))
第一個將創建單柱data.frame
s,而第二個將創建vector
秒。
實施例在一個乾淨的會話:
> rm(list = ls())
> ls()
character(0)
> mydf <- data.frame(A = c(1, 2), B = c(3, 4))
> mydf
A B
1 1 3
2 2 4
> invisible(lapply(names(mydf), function(x) assign(x, mydf[x], envir = .GlobalEnv)))
> ls()
[1] "A" "B" "mydf"
> A
A
1 1
2 2
> rm(list = ls())
> mydf <- data.frame(A = c(1, 2), B = c(3, 4))
> invisible(lapply(names(mydf), function(x) assign(x, mydf[, x], envir = .GlobalEnv)))
> ls()
[1] "A" "B" "mydf"
> B
[1] 3 4
在上述中invisible
實施例抑制輸出。
你能發佈預期的輸出嗎? – Nishanth
你想把你的輸出作爲向量還是單列data.frame? – A5C1D2H2I1M1N2O1R2T1
'subset(x,select = c(i)) - > i}}'是無效的語法 –