6

私は今日 R のいくつかを学んでいます。ファイルにいくつかのデータがあります。

0.7300719696546073 0.5508739992014652 0.2371535688287479
0.9359803887798046 0.8249035576959065 0.3715476175169042
0.3403916445508408 0.8036890953987708 0.8079012937499597

そのように...(しかし、はるかに大きい)

data = read.table("data.txt")

一部の操作では、使用する単一のベクトルにすべてのデータを配置したいのですが、次のようhist(data) になります。'x' must be numeric

as.vector(data)orのようなさまざまなことを試しlapply(c(data), as.numeric)ましたが、何も機能しません。

手を貸してくれませんか?

解決済み: unlist(data)
PS: 100(列)*5000(行)のテーブルがあるため、機能しないと予想されます

4

2 に答える 2

10
unlist(data)

トリックを行います。これは、データフレームをベクトルに変換する簡単な方法です。


あなたのデータで:

data <- read.table(text="
0.7300719696546073 0.5508739992014652 0.2371535688287479
0.9359803887798046 0.8249035576959065 0.3715476175169042
0.3403916445508408 0.8036890953987708 0.8079012937499597")

unlist(data)

結果はベクトル(名前付き要素を含む)です:

      V11       V12       V13       V21       V22       V23       V31       V32       V33 
0.7300720 0.9359804 0.3403916 0.5508740 0.8249036 0.8036891 0.2371536 0.3715476 0.8079013 

名前を付けたくない場合は、次の引数use.names = FALSEを使用してunlistください。

unlist(data, use.names = FALSE)

[1] 0.7300720 0.9359804 0.3403916 0.5508740 0.8249036 0.8036891 0.2371536 0.3715476 0.8079013
于 2012-12-07T12:09:39.107 に答える
2

as.numeric(as.matrix(data))やります。特にそうではありません。エレガント!また、データ、データの呼び出しにも注意してください。を使用str(data)して、データがどのように構造化されているかを確認できます。ただし、 をread.table返しますdata frame

の回答と比較してunlist(data)、このメソッドは自動的に構築された変数名 (V1... Vn) を取得しません。

于 2012-12-07T12:12:04.183 に答える