簡體   English   中英

R中人類可讀的硬編碼數據幀

[英]Human-readable hard-coding dataframe in R

假設我希望在R中硬編碼數據幀。

my_df = data.frame(list(Name=c("foo", "bar", "baz", "qux"), 
              Result=c("Hello", NA, "foobar", "World")))

如果數據幀更長(例如,如果它包括幾十行),則bazfoobar相關聯(即,這兩個值共享同一行)並不是直接的直觀。

是否有一種在視覺上更加人性化的方式對R中的數據幀進行硬編碼?

編輯1:

為了澄清我的問題,我不是在尋找一種替代方法來格式化數據幀的硬編碼(例如通過用空格隔開單詞來對齊兩行)。 相反,我正在尋找的是一種方法,例如,按行指定數據框。

您可以使用frame_data()從命令tibble包。

例如:

dat <- frame_data(
  ~x, ~y,  ~z,
  "a", 2,  3.6,
  "b", 1,  8.5
)

它提供的硬編碼比'by column'的默認data.frame入口方法更“按行”。

資源

另一種方法是使用read.table(text = "...") ,例如

d <- read.table(text = "Name Result
                        foo  Hello
                        bar  NA
                        baz  foobar
                        qux  World", 
                header = TRUE, 
                stringsAsFactors = FALSE)
str(d)
# 'data.frame': 4 obs. of  2 variables:
#  $ Name  : chr  "foo" "bar" "baz" "qux"
#  $ Result: chr  "Hello" NA "foobar" "World"

我從Noam Ross推文中得到了這個:

 readr::read_delim(
   '  Name  |   Result
    # -------------------
       foo  |   Hello
       bar  |   NA
       baz  |   foobar
       qux  |   World ',
   trim_ws = TRUE, comment="#", delim="|")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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