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

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

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

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

Q&A

解決済

1回答

569閲覧

R言語: 「リストを使って住所録を作ってみる」という練習問題の答えにたどり着けず、どこでつまづいているのか知りたい。

uka7y

総合スコア4

R

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

0グッド

0クリップ

投稿2020/03/29 04:00

リストの作成をする(R言語)

R言語を学び始めたばかりで、みなさんのお力をお借りしたいです。

顧客のリストを作成する、という練習問題があり、
以下の「試したこと」記載のソースコードを作成しました。
理想の結果は、「発生している問題・エラーメッセージ」記載の結果なのですが、
どうしても、
add_book <-list("顧客リスト", id, name, add)
という結果になってしまいます。

どこで間違えているのかわかりません。
つたない文章で申し訳ございませんが、どうぞよろしくお願い致します。

発生している問題・エラーメッセージ

本来ならば、以下のような結果が表示されるはずなのですが、 add_book [[1]] [1] "顧客リスト" [[2]] [1] 1 2 3 [[3]] [[3]][[1]] [1] "佐藤" [[3]][[2]] [1] "田中" [[3]][[3]] [1] "斎藤" [[4]] [[4]][[1]] [1] "中央区築地" [[4]][[2]] [1] "中央区築地本町" [[4]][[3]] [1] "中央区日本橋" """""""""""""""" 何度やり直しても、 > #add_book <-list("顧客リスト", id, name, add) このような結果になってしまいます。

該当のソースコード

R言語

試したこと

顧客id
id <-c(1:3)

名前
name <-list("佐藤","田中","斎藤")

住所
add <- list("中央区築地", "中央区築地本町", "中央区日本橋")

リストを作成
add_book <-list("顧客リスト", id, name, add)

"""""""""""""""""""

というソースコードを作成し、実行させました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

KojiDoi

2020/03/29 05:44

エラーが出た時点で history() を実行して、その結果を質問に追記してください。 ソースと出力結果はヘルプの「ソースコードを書きましょう」をみて、きちんと地の文と区別して提示してください。 https://teratail.com/help/question-tips#questionTips3-5
uka7y

2020/03/29 14:03

すみません、エラーが出た時点でhistory()を実行するやり方がわかりません。
KojiDoi

2020/03/29 14:42

コマンドプロンプトでhistory()とタイプするのです。
KojiDoi

2020/03/29 14:46

あと、質問を編集されたようですが、肝心の「地の文」と「ソースコード」の区別が全くできていません。 あなたが何をどう操作したのかがさっぱりわからないので、核心を突いた回答ができません。
uka7y

2020/04/01 11:54

お返事遅れまして、申し訳ございません。 つたない文章でご迷惑おかけしまして、大変申し訳ございません。 コメントをいただく前には、質問の編集は致しておりません。 ご指摘を受けまして、参考資料を参照しつつ編集を行いましたが、 更新ボタンを押し、編集を完了させましても、なぜかこちらのページ上で反映されません。 誠に申し訳ございませんが、対処法がわかりかねます。 失礼いたしました。
guest

回答1

0

ベストアンサー

先頭のシャープがいらないです

投稿2020/03/29 05:10

shimiken

総合スコア368

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

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

uka7y

2020/03/29 05:28

コメントありがとうございます。#を削除してみましたが、「Error: object 'add_book' not found」と言われてしまいます。
shimiken

2020/03/29 05:45

add_book <-list("顧客リスト", id, name, add) を実行した時にはエラーは出ていませんか?
uka7y

2020/03/29 14:06

なぜかわからないのですが、 今朝 > add_book <-list("顧客リスト", id, name, add) を実行した際は、 Error: object 'add_book' not found という結果が表示されましたが、 先ほど再度 > add_book <-list("顧客リスト", id, name, add) を実行しましたところ、 Error: object 'name' not found という結果となりました。 ソースコードは質問にある状態から一切いじっていません。
uka7y

2020/04/01 11:33

お返事遅れまして、申し訳ありません。 4行あるコードを上から順番に実行してみましたところ、 #顧客id id <-c(1:3) のみ [1] 1 2 3 という結果が表示されました。 一方、以下の2行は、 #名前 nimi <- list("Riina", "Miika", "Atte") #住所 add <-list("kontionkatu1", "kontionkatu2", "kontionkatu3") Error: object 'name' not found Error: object 'add' not found とそれぞれ表示されました。 オブジェクトに関して、存じ上げませんでした。記事の共有、ありがとうございました。
uka7y

2020/04/01 11:33

追記:nimi ではなく、nameです。失礼いたしました。
shimiken

2020/04/01 11:40

id <-c(1:3) というコードだけでは [1] 1 2 3 という結果はかえってこないはずです。 id <-c(1:3) というコードによってidというオブジェクトが作られるのです。 その後に id というコードを実行すると [1] 1 2 3 という結果がかえってきます。 同様に name <- list("Riina", "Miika", "Atte") というコードだけでは Error: object 'name' not found という結果は帰ってこないはずです。
uka7y

2020/04/01 11:57

誤解を招く書き方を致しました。 id <-c(1:3) とソースファイルに書き、 idのみを選択して、Runを押しました。 name とaddも同様に致しました。
shimiken

2020/04/01 11:59

>idのみを選択して、Runを押しました。 そうすると id というコードを実施したことになります。 試したことに書いてあるコードを"1行づつ"上から順番に実行して下さい。
uka7y

2020/04/01 13:04

度々申し訳ありません。 1行づつ、順番に実行しましたところ、以下のようになりました。 >id <-c(1:3) > name <-list("佐藤","田中","斎藤") > add <- list("中央区築地", "中央区築地本町", "中央区日本橋") > add_book <-list("顧客リスト", id, name, add)
shimiken

2020/04/01 13:05

そのあとに add_book というコードを実施して下さい。
uka7y

2020/04/01 13:26

無事表示されました!! ありがとうございます!! おそらく、私がオブジェクトの概念がしっかり把握できていないのだと思いますが、 お手間でなければ、1行ずつ実行しなければならない理由を伺ってもよろしいでしょうか?
shimiken

2020/04/01 13:32

正確にいうと1行ずつ実行しなくても、4行いっきに実行してもいいです。 とにかく上から順番に実行されることが大事です。 add_book <-list("顧客リスト", id, name, add) と実行した時に Error: object 'name' not found というエラーが出るのはnameというオブジェクトが作られていないからです。 事前に name <-list("佐藤","田中","斎藤") というコードを実行しておけば先述のエラーは出ません。
uka7y

2020/04/01 13:46

理解できました。 丁寧にお返事いただき、大変感謝いたします。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問