Hello everyone,
I am analysing gene expression data which is normalized. I've clustered it using different techniques such as hierarchical and k-means and I've recently attempted to group it using t-SNE so I can see how different techniques would group the genes according to their expression patterns across our experiment. When I try to use the package tsne in R, its as follows. First I created a distance matrix for the data using dist() and then I'm using tsne function:
t = tsne(distance_matrix, initial_config = NULL, k = 2, initial_dims = 30, perplexity = 30, max_iter = 1000, min_cost = 0, epoch_callback = NULL, whiten = TRUE, epoch=100)
I get the following error which I don't understand:
sigma summary: Min. : 0.05865 |1st Qu. : 0.07213 |Median : 0.07861 |Mean : 0.08058 |3rd Qu. : 0.09074 |Max. : 0.1056 |
Epoch: Iteration #100 error is: 12.3600149047312
Epoch: Iteration #200 error is: 0.782907087502658
Epoch: Iteration #300 error is: 0.482898016719146
tsne package: http://cran.r-project.org/web/packages/tsne/tsne.pdf
Please help! Many thanks.
Are you sure you're getting an error? It looks as if
tsne
is just being verbose and just letting you know about the "state of affairs" after every 100 iterations. Is there something in yourt
variable? Also, you should pick another variable besidest
so as to not avoid the confusion between your var and thet
ranspose function.Thank you. I changed the variable name and I'm still getting the same. If it is telling me something, there's no documentation for it in the manual and I cant really figure out what this means and if it's something important.
What I'm saying is that if the "result" you are getting is only the part you pasted in, then it doesn't look like this is an error. It looks as if the
tsne
function is only printing to "stdout" telling you about the progress that it is making after every 100 iterations.After you run
tsne
, does it return something to you? If you runx <- tsne(...)
, what doesis(x)
give you?It gives me this : [1] "matrix" "array" "structure" "vector"
Great -- so ... we're done, right? To recap:
tsne
is not failing with an error, and you get what you want. The "verbosity" after you calltsne
is just keeping you "up to speed" with what the function is doing internally while it is running.Thanks a lot Steve!!