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
tsneis just being verbose and just letting you know about the "state of affairs" after every 100 iterations. Is there something in yourtvariable? Also, you should pick another variable besidestso as to not avoid the confusion between your var and thetranspose 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
tsnefunction 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:
tsneis not failing with an error, and you get what you want. The "verbosity" after you calltsneis just keeping you "up to speed" with what the function is doing internally while it is running.Thanks a lot Steve!!