0

R は初めてなので、無知による明らかな間違いを犯している場合はご容赦ください。

コレスポンデンス分析を実行しようとしています。を使用して Excel から (CSV 経由で) データをインポートしましたread.csv()corresp()次に、MASS パッケージから使用しています。すべて正常に動作しています。

次に、CSV ファイル (Excel からのエクスポート) に戻り、行 (分析から除外したいサンプル) を削除します。その後、手順read.csv()corresp()手順を繰り返しますが、次のエラーが発生します。

Error in corresp.matrix(as.matrix(x), ...) : empty row or column in table
In addition: Warning message:
In corresp.matrix(as.matrix(x), ...) :
  negative or non-integer entries in table

corresp()「さらに」エラーは問題ではなく、非整数を使用すると常にポップアップします。問題の原因は最初の行であり、行/列が空であるという主張です。

CSVを1行ずつチェックしましたが、空のセルはまったくありません(成功した最初のCSVのように、A1を除く)。実際、新しい CSV (いくつかの行が削除されています) は、正常に機能したファイルとほぼ同じですcorresp()

誰かが説明を持っているか、続行する方法を提案できる場合、それは大きな助けになるでしょう.

4

1 に答える 1

2

元の.csvファイルから一部の行(またはサンプル)を削除するには、Rで簡単に削除できます。ファイルを既に読んでいるので、エラーは発生しません。

最初のステップは、元の.csvファイルを読み取ることです。

# set the header TRUE if you have any header in your .csv file.
data = read.csv(file = "", header = TRUE) 

ここで、3行目、5行目、10行目、および20行目を削除するとします。

data1 = data[-(c(3, 5, 10, 20)),]

次に、data.newデータフレームを新しいデータセットとして簡単に使用できます。

corresp()を使用するには、データセットに整数列と非負列が必要であることに注意してください。上記のコードと同様に、データセットのいくつかの列を選択することもできます。たとえば、データセットの列3、4、および6のみを選択するために(これらの列が唯一の非負の整数であると仮定します)、次のように言うことができます。

data2 = data[,c(3, 4, 5)]

それが役に立てば幸い。

于 2012-07-03T13:42:41.823 に答える