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

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

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

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

Q&A

解決済

1回答

843閲覧

配列の値を変数に入れ直した際に「想定外の値」(長さ??)が格納される

haihaikazuma

総合スコア181

R

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

0グッド

0クリップ

投稿2021/05/14 09:04

前提・実現したいこと

配列の値を変数に入れ直した際に「想定外の値」が格納されるのを防ぎたいです。

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

エラーメッセージはありません。
想定外の結果が出力されています。

データフレームや、配列の1行を再格納した際に以下になります。

data_select

[1] "1" "1" "1" "AAA"

期待通りの値は以下です。

data_select

[1] "AAA" "AAA" "AAA" "AAA"

該当のソースコード

# 重複動作確認 data_1 = c("AAA","AAA","CCC") data_2 = c("111","222","333") data_3 = c("2021-05-11","2021-05-10","2021-05-13") all_data = data.frame(Data_1 = data_1, Data_2 = data_2, Data_3 = data_3) # 日付で昇順 sort_data <- all_data[order(all_data$Data_3),] # ユーザ名の重複削除 screen_name <- unique(sort_data$Data_1) data_select <- c() data_select[1] <- screen_name[1] # 想定外 data_select[2] <- sort_data$Data_1[1] # 想定外 data_select[3] <- all_data$Data_1[2] # 想定外 data_select[4] <- "AAA" # 期待通り # 結果確認 data_select

試したこと

データを色々な形にして実施してみましたが、変わらずです。
"AAA"のようにすれば入るのですが、要件はそうもいきません…

ネットで情報を集めておりましたが、事象も少なく解決できませんでした。

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

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

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

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

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

guest

回答1

0

ベストアンサー

「想定外」の値が入るのは、それらの値が文字列ではなく「因子(factor)」だからです。

data_select <- c() data_select[1] <- as.character(screen_name[1]) data_select[2] <- as.character(sort_data$Data_1[1]) data_select[3] <- as.character(all_data$Data_1[2]) ata_select[4] <- "AAA"

普通は、データフレームを作る際に対処します。

all_data <- data.frame(Data_1 = data_1, Data_2 = data_2, Data_3 = data_3, stringsAsFactors = F)

投稿2021/05/14 13:01

KojiDoi

総合スコア13671

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問