text: user3171: I have no idea why I used the subsetdata in Seurat after using CCA the TSNEPlot shows the cluster all in the left side and merge， did I miss something? Here are the code and figure I got.
  cluster <-SubsetData(object = immune.combined, ident.use= "3")
  
  cluster <- NormalizeData(object = cluster, normalization.method = "logNormalize", scale.factor = 10000)
  
  
  cluster <- FindVariableGenes(object = cluster, mean.function = ExpMean, dispersion.function = LogVMR, x.low.cutoff = 0, x.high.cutoff = 6, y.cutoff = 0, do.plot = F)
  
  
  
  cluster <- ScaleData(object = cluster, display.progress = FALSE)
  cluster <- RunPCA(object = cluster, pc.genes = cluster@var.genes, pcs.print = 1:10, genes.print =5)
  
  
  
  PCAPlot(object = cluster, group.by= "orig.ident", dim.1 = 1, dim.2 = 2)
  
  cluster <- FindClusters (object = cluster, reduction.type = "pca", dims.use = 1:10, resolution =0.3, print.output = 0, save.SNN = TRUE, force.recalc = T)
  
  TSNEPlot(object = cluster, do.label = TRUE,do.return = TRUE,pt.size = 2,label.size = 5, no.legend=FALSE)
  
  
  
  user3848: I'm going to stick my neck out here. Overall PCA followed by tSNE is a very powerful method of unsupervised learning however, I agree with @GWW,
  cluster <- ScaleData(object = cluster, display.progress = FALSE)
  
  If this is a max-min rescale transformation (common in supervised learning) then the outliers will badly affect the clustering. You can remove outliers that are over 2 sd from a formal analysis and re-run the calculation. That is just the risk of a max-min rescaling.
  The one issue I'm concerned about is the initial quasi-standardisation followed by log-transformation,
  log1p(value/colSums[cell-idx] *scale_factor)
  
  In this case you are multiplying by 10000, this is to remove the ratio (used as a quasi-standardisation) and then taking the log ??? That is not the way to transform a ratio, it would be better to take the reciprocal of the ratio. There are other (better) methods, a formal standardisation would be useful, before a transformation is considered. Possibly if that was done correctly you wouldn't have the problem of outliers potentially crunching your data.
  If you fiddle with the parameters you might get something - but its a symptom not the cause of the problem. However, if removing the outliers works (I have not checked the ScaleData function), then you are sorted and all else is forgotten (at least for this data set). The information I read was here.
  
  user3415: The issue here is simply that you did not re-compute the tSNE after subsetting the data, so you're looking at a subset of cells from a larger embedding. You would never get an embedding that looks like that by running tSNE on only those cells.
  You also don't need to re-normalize the data after subsetting the cells. Since this is a per-cell calculation, the results will be identical to those in the larger matrix (you can check this for yourself).
  
original_text: 3171: <p>I have no idea why I used the subsetdata in Seurat after using CCA the TSNEPlot shows the cluster all in the left side and merge， did I miss something? Here are the code and figure I got.</p>
  
  <pre><code>cluster &lt;-SubsetData(object = immune.combined, ident.use= "3")
  
  cluster &lt;- NormalizeData(object = cluster, normalization.method = "logNormalize", scale.factor = 10000)
  
  
  cluster &lt;- FindVariableGenes(object = cluster, mean.function = ExpMean, dispersion.function = LogVMR, x.low.cutoff = 0, x.high.cutoff = 6, y.cutoff = 0, do.plot = F)
  
  
  
  cluster &lt;- ScaleData(object = cluster, display.progress = FALSE)
  cluster &lt;- RunPCA(object = cluster, pc.genes = cluster@var.genes, pcs.print = 1:10, genes.print =5)
  
  
  
  PCAPlot(object = cluster, group.by= "orig.ident", dim.1 = 1, dim.2 = 2)
  
  cluster &lt;- FindClusters (object = cluster, reduction.type = "pca", dims.use = 1:10, resolution =0.3, print.output = 0, save.SNN = TRUE, force.recalc = T)
  
  TSNEPlot(object = cluster, do.label = TRUE,do.return = TRUE,pt.size = 2,label.size = 5, no.legend=FALSE)
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/fn9yz.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fn9yz.png" alt="enter image description here"></a></p>
   3848: <p>I'm going to stick my neck out here. Overall PCA followed by tSNE is a very powerful method of unsupervised learning however, I agree with @GWW,</p>
  
  <pre><code>cluster &lt;- ScaleData(object = cluster, display.progress = FALSE)
  </code></pre>
  
  <p>If this is a max-min rescale transformation (common in supervised learning) then the outliers will badly affect the clustering. You can remove outliers that are over 2 sd from a formal analysis and re-run the calculation. That is just the risk of a max-min rescaling.</p>
  
  <p>The one issue I'm concerned about is the initial quasi-standardisation followed by log-transformation,</p>
  
  <pre><code>log1p(value/colSums[cell-idx] *scale_factor)
  </code></pre>
  
  <p>In this case you are multiplying by 10000, this is to remove the ratio (used as a quasi-standardisation) and then taking the log ??? That is not the way to transform a ratio, it would be better to take the reciprocal of the ratio. There are other (better) methods, a formal standardisation would be useful, before a transformation is considered. Possibly if that was done correctly you wouldn't have the problem of outliers potentially crunching your data.</p>
  
  <p>If you fiddle with the parameters you might get something - but its a symptom not the cause of the problem. However, if removing the outliers works (I have not checked the ScaleData function), then you are sorted and all else is forgotten (at least for this data set). The information I read was <a href="https://learn.gencore.bio.nyu.edu/single-cell-rnaseq/seurat-part-3-data-normalization/" rel="nofollow noreferrer">here</a>.</p>
   3415: <p>The issue here is simply that you did not re-compute the tSNE after subsetting the data, so you're looking at a subset of cells from a larger embedding. You would never get an embedding that looks like that by running tSNE on only those cells.</p>
  
  <p>You also don't need to re-normalize the data after subsetting the cells. Since this is a per-cell calculation, the results will be identical to those in the larger matrix (you can check this for yourself).</p>
  