問題タブ [tibble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - ティブルにキャストする前に行名を変換するために data.frame にキャストする必要がありますか
名前付きマトリックスを出力する遺伝子発現パッケージを使用します。これを tibble にするには、まず最初に にキャストして、data.frame
次に行名を変換できるようにする必要があります。これを行うより短い方法はありますか?例えば:
次のようなことをしたい場所:
as_tibble
しかし、ステップで行名を失うため、できません。
r - Tibbles は lubridate の期間オブジェクトと期間オブジェクトを拒否します
動作するコード:duration
およびperiod
オブジェクト
次のコードは、duration
オブジェクトとperiod
オブジェクトをそれぞれ正常に生成します。
動作しないコード:duration
およびsperiod
内のオブジェクトtibble
ただし、またはオブジェクトtibble
を使用してを作成しようとすると、情報が得られないエラー メッセージが表示されます。duration
period
動作するコード:duration
およびsperiod
内のオブジェクトdata.frame
tibble::tibble
作品と交換base::data.frame
。
動作しないコード - これらdata.frame
の s を強制するtibbles
これらの stibble::as_tibble
を強制的に使用すると、以前と同じエラーが発生します。data.frame
tibbles
考えられる説明
Hadley は、この Github の問題 ( https://github.com/tidyverse/tibble/issues/326as.duration
) で、とを含む S4 列について言及していますas.period
。非互換性については特に言及されていません。
ソースコードを掘り下げると、同じエラーメッセージを表示する次の依存関係のチェーンが見つかりました。as_tibble.data.frame --> list_to_tibble --> new_tibble
ではtibble:::list_to_tibble
、 に渡される唯一の引数tibble::new_tibble
は ですx
。したがって、 にsubclass
は のデフォルト値が割り当てられ、NULL
の最後から 2 番目の行は次のようにtibble::new_tibble
なります。
オブジェクトには構造がありますが、それらを直接呼び出そうとするとエラーが発生します。
その結果、data.frame
x
ベクトルのクラスを割り当てると、エラーをスローする方法で強制しようとするようです。c("tbl_df", "tbl", "data.frame")
R
x
さらに、tibble::tibble
も呼び出すことを考えるとas_tibble
( ではありませんがdata.frame
)、私の問題tibble::tibble
が同じ原因であると推測する危険があります。
パッケージのバージョン
- ティブル: 1.4.1
- 潤滑剤: 1.7.1
- R: 3.4.3