小编Tin*_*mas的帖子

svd(x,nu = 0)中的错误:0范围尺寸

我试图在5000列和30行的数据框架上进行PCA

Sample <- read.table(file.choose(), header=F,sep="\t")
Sample.scaled <- data.frame(apply(Sample,2,scale))
pca.Sample <- prcomp(Sample.scaled,retx=TRUE)`
Run Code Online (Sandbox Code Playgroud)

得到了错误

Error in svd(x, nu = 0) : infinite or missing values in 'x'

sum(is.na(Sample))
[1] 0

sum(is.na(Sample.scaled))
[1] 90
Run Code Online (Sandbox Code Playgroud)

尝试使用以下内容忽略所有na值

pca.Sample <- prcomp(na.omit(Sample.scaled),retx=TRUE)
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误

Error in svd(x, nu = 0) : 0 extent dimensions
Run Code Online (Sandbox Code Playgroud)

有报告说,na.action需要给出公式,因此尝试如下

pca.Sample <- prcomp(~.,center=TRUE,scale=TRUE,Sample, na.action=na.omit)
Run Code Online (Sandbox Code Playgroud)

现在收到以下错误

Error in prcomp.default(x, ...) :
  cannot rescale a constant/zero column to unit variance
Run Code Online (Sandbox Code Playgroud)

认为问题可能是因为"我的一个数据列是常量.常量的方差是0,然后缩放将除以0,这是不可能的."

但不确定如何解决这个问题.任何帮助非常感谢....

r

7
推荐指数
1
解决办法
2万
查看次数

PCA Biplot:一种隐藏向量以清楚地查看所有数据点的方法

我想用R做PCA

我的数据有10,000列和90行,我使用prcomp函数来执行PCA.试图用prcomp结果准备一个双标图,我遇到了10,000个绘制的向量覆盖我的数据点的问题.双标图是否有任何隐藏向量表示的选项?

要么

我可以用它plot来获得PCA结果.但我不确定如何根据我的数据点标记这些点,数据点编号为1到90.

Sample<-read.table(file.choose(),header=F,sep="\t")

Sample.scaled<-data.frame(apply(Sample_2XY,2,scale))

Sample_scaled.2<-data.frame(t(na.omit(t(Sample_2XY.scaled))))

pca.Sample<-prcomp(Sample_2XY.scaled.2,retx=TRUE)

pdf("Sample_plot.pdf")

plot(pca.Sample$x)

dev.off()
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
7365
查看次数

绘制PCA:标记数据点的方法

我可以使用绘图功能。可以使用plot获得pca结果。但不确定如何根据我的rownames(Sample)编号为1至90的数据点标记这些点

Sample<-read.table(file.choose(),header=F,sep="\t")
Sample.scaled<-data.frame(apply(Sample_2XY,2,scale))
Sample_scaled.2<-data.frame(t(na.omit(t(Sample_2XY.scaled))))

pca.Sample<-prcomp(Sample_2XY.scaled.2,retx=TRUE)

pdf("Sample_plot.pdf")
plot(pca.Sample$x)
dev.off()
Run Code Online (Sandbox Code Playgroud)

r

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×3