如何将含sample列的数据集转为矩阵以在R中运行prcomp?
解决方法
步骤1:修复数值列格式
你的area列用逗号作为千分分隔符,trnsp列用逗号作为小数点,需要先将它们转换为数值类型:
# 假设原始数据框名为df df$area <- as.numeric(gsub(",", "", df$area)) df$trnsp <- as.numeric(gsub(",", ".", df$trnsp))
步骤2:设置行名并移除sample列
将sample列的值指定为数据框行名,随后删除原sample列:
rownames(df) <- df$sample df <- df[, !names(df) %in% "sample"]
步骤3:转换为矩阵
此时数据框已满足要求,直接转换为矩阵即可:
data_matrix <- as.matrix(df)
现在运行prcomp(data_matrix)就能正常执行主成分分析了。
内容的提问来源于stack exchange,提问作者Gonzalo de Quesada
相关产品推荐
相关产品推荐

