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

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

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

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Q&A

解決済

1回答

2407閲覧

Rを用いたJSON形式テキストからのデータ抽出

donarudo

総合スコア15

R

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

0グッド

0クリップ

投稿2017/05/22 13:54

###前提・実現したいこと
R初心者です。
Rを用いたJSON形式テキストからのデータ抽出を行なっています。

###発生している問題・エラーメッセージ
下に示すテキストデータの"air_temperature"の数値を全て抜き出したいのですがデータの抽出方法がよく分かりません。

###該当のソースコード

JSON

1[ 2 { 3 "nodeID": 15, 4 "relative_humidity": 36.3, 5 "time": "2017-03-07T15:17:41.000000+09:00" 6 }, 7 { 8 "air_temperature": 11.5, 9 "nodeID": 15, 10 "time": "2017-03-07T15:17:45.000000+09:00" 11 }, 12 { 13 "nodeID": 15, 14 "relative_humidity": 37, 15 "time": "2017-03-07T15:22:41.000000+09:00" 16 }, 17 { 18 "air_temperature": 10.9, 19 "nodeID": 15, 20 "time": "2017-03-07T15:22:46.000000+09:00" 21 }, 22 { 23 "ATPR": 1004, 24 "nodeID": 15, 25 "time": "2017-03-07T15:22:51.000000+09:00" 26 }, 27 { 28 "illuminance": 1434, 29 "nodeID": 15, 30 "time": "2017-03-07T15:22:54.000000+09:00" 31 }, 32 { 33 "amount_of_solar_radiation": 321, 34 "nodeID": 15, 35 "time": "2017-03-07T15:22:58.000000+09:00" 36 }, 37 { 38 "nodeID": 15, 39 "time": "2017-03-07T15:23:02.000000+09:00", 40 "wind_speed": 6 41 }, 42 { 43 "nodeID": 15, 44 "time": "2017-03-07T15:23:05.000000+09:00", 45 "wind_direction": "315.0" 46 }, 47 { 48 "nodeID": 15, 49 "relative_humidity": 36.9, 50 "time": "2017-03-07T15:27:41.000000+09:00" 51 }, 52 { 53 "air_temperature": 11.1, 54 "nodeID": 15, 55 "time": "2017-03-07T15:27:46.000000+09:00" 56 }, 57 { 58 "nodeID": 15, 59 "relative_humidity": 36, 60 "time": "2017-03-07T15:32:41.000000+09:00" 61 }, 62 { 63 "air_temperature": 11.4, 64 "nodeID": 15, 65 "time": "2017-03-07T15:32:47.000000+09:00" 66 }, 67 { 68 "ATPR": 1003, 69 "nodeID": 15, 70 "time": "2017-03-07T15:32:50.000000+09:00" 71 }, 72 { 73 "illuminance": 1432, 74 "nodeID": 15, 75 "time": "2017-03-07T15:32:54.000000+09:00" 76 }, 77 { 78 "amount_of_solar_radiation": 279, 79 "nodeID": 15, 80 "time": "2017-03-07T15:32:58.000000+09:00" 81 }, 82 { 83 "nodeID": 15, 84 "time": "2017-03-07T15:33:02.000000+09:00", 85 "wind_speed": 1 86 }, 87 { 88 "nodeID": 15, 89 "time": "2017-03-07T15:33:05.000000+09:00", 90 "wind_direction": "90.0" 91 }, 92 { 93 "nodeID": 15, 94 "relative_humidity": 37.7, 95 "time": "2017-03-07T15:37:41.000000+09:00" 96 }, 97 { 98 "air_temperature": 10.7, 99 "nodeID": 15, 100 "time": "2017-03-07T15:37:46.000000+09:00" 101 } 102] 103//以下省略しています 104

###試したこと

R

1library("rjson") 2result <- fromJSON(file="sdata.txt") 3json_data_frame <- as.data.frame(result) //結果をデータフレームに格納 4 5```結果 6> json_data_frame["air_temperature"] 7 air_temperature 81 11.5 9と一つの数値しか出力できないため、全ての数値を出力したいと考えています。 10###補足情報(言語/FW/ツール等のバージョンなど) 11開発環境はR version 3.4.0 12OSはmacOSです。 13初心者なので質問が分かりにくい部分が多いと思いますが、回答の方よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

数字だけでいいのなら、次のようなのでいかがでしょう。

output <- unlist(sapply(result, function(x){return(x$air_temperature)}))

投稿2017/05/23 19:15

KojiDoi

総合スコア13671

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

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

donarudo

2017/05/26 01:12

ありがとうございます。無事数値を抜き出すことが出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問