I have already applied common approaches to clear the dataset ahead of clustering (e.g., by listwise deletion, pairwise deletion and imputation with regression models).

For my purpose, however, I would like to dive into more sophisticated cluster algorithms that are able to deal with a high percentage of missing values (>50%).

Questions:

1) Which cluster algorithms are most suitable to determine cluster centers using all available values in a dataset with many missing values?

2) How can these algorithms be applied to the dataset with missing values in e.g. R/SPSS/STATA?

3) One approach that seems promising from the literature is the fuzzy c-means algorithm – can this algorithm be applied in R/SPSS/STATA with the partial distance strategy or optimal completion strategy?

Thank you very much for your help!