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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

Q&A

2回答

925閲覧

Python(またはR)による、Excelファイルのデータ抽出と統計解析について

phys

総合スコア3

R

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

0グッド

0クリップ

投稿2021/08/03 04:19

Excelファイルのデータ抽出について質問させてください。

収入出身地年齢
250,000葛飾区28
500,000新宿区45
850,000秋田市;神戸市;宮崎市63;32;35
300,000横浜市38
700,000新宿区;新潟市40;32

例えば、上記のような世帯月収、世帯構成員の出身地、世帯構成員の年齢が記載された数万世帯分のデータがあるとします。

Python(またはR)をもちいて、ここから

新宿区出身者を含む世帯の平均月収
秋田市出身者を含む世帯の平均月収
神戸市出身者を含む世帯の平均月収
etc

をファイルに記載された全ての出身地で求めるには、どのようにすればいいでしょうか。

全て一人世帯で、出身地を手入力できるようであればわかるのですが、ひと世帯に複数の出身地が記載され、どのくらいの出身地があるかも把握できないとなると、どのようにデータ抽出をすればいいのかわかりません。

解析を行うためのデータ抽出のプログラムについて、ご教授いただければ幸いです。

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

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

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

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

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

meg_

2021/08/03 04:28

質問者さんはどこまでコーディング出来ますか?ファイルの読み込みとか条件完全一致の抽出ならできますか?
can110

2021/08/03 05:20

複数の人が同じ出身の場合、出身地はどうなっていますか? 2人が秋田市、一人が神戸市の場合、「秋田市;神戸市」なのか「秋田市;秋田市;神戸市」なのか。
phys

2021/08/03 06:01

paythonは、数値計算や機械学習の入門書を読んで勉強した程度で、ファイルの読み込みはできますが、条件一致の抽出はやったことがありません。 2人が秋田、1人が神戸だった場合は、その世帯の月収(例えば700,000)を「[秋田市]+=700,000」、「[神戸市]+=700,000」と、それぞれの配列に同額を加えるようにしようと思っています。
meg_

2021/08/03 06:06

Rはどこまで出来ますか? ※今の質問の状態では丸投げと感じます
can110

2021/08/03 06:09

入力元であるExcelファイルの出身地の列がどうなっているか?という質問です。
guest

回答2

0

プログラムを勉強したいというのでなければ、1個のプログラムでやるよりは、STEPを分けて以下のようにやるのが良いでしょう。自分でできない部分は、お金を払って誰かに頼むことも可能です。

  • STEP1 ファイル形式変換

Excelでxlsx形式ファイルを読み込んで、csv形式ファイルで出力する。

  • STEP2 ファイル形式変換

csv形式ファイルを入力として、KojiDoiさんの書いている列分解処理を行い、csv形式ファイルで出力する。
処理は適当なスクリプト言語で行う。awkとかsedでもできるしPythonでも可能。

  • STEP3 集計処理

csv形式ファイルを入力として、集計処理を行い、csv形式ファイルで出力する。
RやPython+pandasが適している。

プログラムを勉強したいのであれば、まずプログラミングの基礎をやることをお勧めします。

投稿2021/08/03 06:49

ppaul

総合スコア24670

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

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

0

まずは、このデータを、

850,000 秋田市;神戸市;宮崎市 63;32;35

次のように変換するスクリプトを書きましょう。

850000 秋田市 63 850000 神戸市 32 850000 宮崎市 35

pythonでもRでもどちらでも構いませんが、あなたの両言語のスキルに大差がないのであれば、まあpythonの方がやりやすいでしょう。

投稿2021/08/03 04:54

KojiDoi

総合スコア13692

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

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

phys

2021/08/03 06:07

一つの列に一つの字列しかないデータから、特定の文字列を含む行を抽出するやり方は調べて分かったのですが、一つの列内のセミコロンで区切られた文字列を抽出し、同じ行列の値と関連づける方法がわからなかったため、質問させていただきました。
KojiDoi

2021/08/03 06:45

やるべきことは抽出ではなく「分割」です。 pythonならsplitメソッド、Rならstrsplit関数を使えばいいです。あとは自分で調べてコードを組んでみましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問