0

私は多くの時間を試してみましたが、どういうわけか何もうまくいきません.Rの上級ユーザーにとっては簡単だと思います. 各要素が行ごとに発生する Dataformat を取得しました。最初に文字列としてのラベル、その後に 1000 個の数値機能が続き、すべて空白で分割されます。

"label1" 1 0 1 0 0 0 ...
"label2" 0 0 0 0 1 0 ...
"label2" 0 0 1 0 1 0 ...
"label2" 1 1 1 1 0 0 ...
...

私が抱えている問題は、行列を読み取るときのラベルです(最初の行または常に最初の列)。この行列を tsne (次元削減) に適用したいのですが、ラベルが問題を引き起こします。したがって、ラベルのないマトリックスが必要ですが、後でラベルを保存したいので、新しい次元で印刷できます。これまでに得たものは次のとおりです(疑似コードではありません):

Data <- read.table("File.txt", header=False, row.names=1)
Labels <- Data[1]    # I somehow need the labels
Data[1] <- NULL # this should remove the first row (labels ?)
tsne = tsne(Data, initial_config = NULL, k = 2, initial_dims = 30,...)# function that reduces dimension

ここでは、次のように、新しい 2 次元マトリックスを各ラベルと共に出力するものが必要です。label[x] + tsne[xDimension] + tsne[yDimension]

よろしくお願いします。よろしくお願いします。

4

3 に答える 3

1

以前と同様に、 を使用してデータを読み取りますread.table

data_as_data.frame <- read.table(
  text = '"label1" 1 0 1 0 0 0 
"label2" 0 0 0 0 1 0 
"label2" 0 0 1 0 1 0 
"label2" 1 1 1 1 0 0'
)

最初の列以外のすべてから行列を作成します。

data_as_a_matrix <- as.matrix(data_as_data.frame[, -1])

その最初の列をマトリックスの行名として使用します。

rownames(data_as_a_matrix) <- data_as_data.frame[, 1]
data_as_a_matrix
##        V2 V3 V4 V5 V6 V7
## label1  1  0  1  0  0  0
## label2  0  0  0  0  1  0
## label2  0  0  1  0  1  0
## label2  1  1  1  1  0  0
于 2014-01-10T09:37:52.600 に答える
1
data <- read.table("File.txt", header=False, row.names=1)
dlabels <- data[,1]

res = tsne(as.matrix(data[,-1]), ...)

後でラベルをどうするかは完全にあなた次第です

于 2014-01-10T09:35:06.580 に答える
0

次のコマンドを試してください。

cbind(Labels, tsne)
于 2014-01-10T09:36:02.147 に答える