104

次のように xmlAttrs から返された名前付き文字ベクトルがあります。

testVect <- structure(c("11.2.0.3.0", "12.89", "12.71"), .Names = c("db_version", 
             "elapsed_time", "cpu_time"))

次のようなデータフレームに変換したいと思います。

testDF <- data.frame("db_version"="11.2.0.3.0","elapsed_time"=12.89,"cpu_time"=12.71)
head(testDF)
  db_version elapsed_time cpu_time
1 11.2.0.3.0        12.89    12.71
4

6 に答える 6

67

@MatthewPlourde と @JackRyan からの回答は機能しますが、長い名前のベクトルがある場合、1 つの行と多くの列を持つデータ フレームを持つのは面倒です。多くの行を持つ「キー」列と「値」列が必要な場合は、次のいずれかが機能するはずです。

data.frame(keyName=names(testVect), value=testVect, row.names=NULL)

##        keyName      value
## 1   db_version 11.2.0.3.0
## 2 elapsed_time      12.89
## 3     cpu_time      12.71


## Suggested by @JWilliman
tibble::enframe(testVect)

## # A tibble: 3 x 2
##   name         value
##   <chr>        <chr>
## 1 db_version   11.2.0.3.0
## 2 elapsed_time 12.89
## 3 cpu_time     12.71


## Suggested by @Joe
stack(testVect)
##       values          ind
## 1 11.2.0.3.0   db_version
## 2      12.89 elapsed_time
## 3      12.71     cpu_time
于 2014-12-20T22:56:01.533 に答える