質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

394閲覧

R:各id毎の一番古い日付けのみの抽出

keikmyo

総合スコア9

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2022/10/02 07:08

Rにてデータ抽出を実施しています。
下記のようなデータフレームより、各id毎の一番古い日付けのみ抽出したいと考えています。
色々調べて、実施したもののうまくソートが掛かりません。どのようにコードを書けばよいかご教示いただけませんでしょうか?よろしくお願いいたします。

イメージ説明

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2022/10/02 08:01

product_a_newdate <- product_a %>% group_by(id) %>% min(date) を試してみて下さい。
keikmyo

2022/10/02 08:07

ありがとうございます。 こちらのコードも実施いたしましたが、下記エラーがでてきてしまいます。 Error in product_a(.) : could not find function "product_a" > %>% group_by(id) Error: unexpected SPECIAL in " %>%" > %>% min(date) Error: unexpected SPECIAL in " %>%"
melian

2022/10/02 08:10

最初の部分 product_a_newdate <- ... は %>% ではなく <- なのですが、そこは大丈夫でしょうか?
keikmyo

2022/10/02 08:17

ありがとうございます。ご指摘頂いた部分はコードの記載を間違えておりました。 更に新たなエラーが出てきました。dateの設定がおかしいのでしょうか? > product_a_newdate <- product_a %>% group_by(id) %>% min(date) Error in FUN(X[[i]], ...) : only defined on a data frame with all numeric-alike variables > class(date) [1] "function"
melian

2022/10/02 08:29

date という関数が既に定義されていますので、以下を試してみて下さい。(min(date) を min(.$date) に変更) product_a_newdate <- product_a %>% group_by(id) %>% min(.$date)
keikmyo

2022/10/02 08:33

ありがとうございます。下記エラーがでます。dateの設定のところが問題だと思うのですが、うまくいきません。。 > product_a_newdate <- product_a %>% group_by(id) %>% min(.$date)
melian

2022/10/02 09:13

ごめんなさい、勘違いをしていました。回答を投稿しましたのでそちらを確認してみて下さい。
keikmyo

2022/10/02 09:27

ありがとうございます。途中まで、コードを書けていたみたいですが、Print関数をまだ理解しておらず、最後の所で手間取っておりました。もし可能でしたらView画面には、でてこなかったのですが、これはなぜでしょうか?まだRを勉強し始めたところでして。
melian

2022/10/02 09:39

Rstudio をお使いでしょうか? 私の方はプログラムコードをファイルに保存して、それをコマンドラインで実行しています。Rstudio を利用したことがないので推測になりますが、print 関数の出力は View 画面に表示されない様に設定されているのかもしれません。
keikmyo

2022/10/02 10:43

R studioを使用しています。view画面に出てこなかったので、混乱してしまいました。 色々とご教示頂きありがとうございました。
guest

回答1

0

ベストアンサー

r

1library(dplyr) 2library(tibble) 3 4product_a <- data.frame( 5 id = c(rep(1, 4), rep(2, 2), rep(4, 3)), 6 product = rep("A", 9), 7 date = as.Date(c( 8 "2020-01-01", "2020-02-01", "2020-03-01", "2020-04-01", 9 "2019-07-01", "2019-07-14", "2021-12-01", "2021-02-01", 10 "2021-04-01"))) 11 12product_a_newdate <- product_a %>% group_by(id) %>% slice(which.min(date)) 13print(product_a_newdate) 14 15# 16# A tibble: 3 × 3 17# Groups: id [3] 18 id product date 19 <dbl> <chr> <date> 201 1 A 2020-01-01 212 2 A 2019-07-01 223 4 A 2021-02-01

投稿2022/10/02 09:12

melian

総合スコア19754

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問