Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分组数据在tidyverse框架中的PCA应用_R_Dplyr_Tidyverse_Pca - Fatal编程技术网

分组数据在tidyverse框架中的PCA应用

分组数据在tidyverse框架中的PCA应用,r,dplyr,tidyverse,pca,R,Dplyr,Tidyverse,Pca,我知道tidyverse可以用于性能PCA,这里有两个示例: 例1: # Libraries library(tidyverse) library(broom) iris\u pca\u v1% 嵌套()%>% 变异( pca=map(数据,~prcomp(.x%>%select(-Species),中心=T,比例=T)), pca_aug=map2(pca,数据,~augment(.x,数据=.y)) ) 例2: iris_pca_v1 <- iris %>% nest(

我知道
tidyverse
可以用于性能PCA,这里有两个示例:

例1:

# Libraries
library(tidyverse)
library(broom)
iris\u pca\u v1%
嵌套()%>%
变异(
pca=map(数据,~prcomp(.x%>%select(-Species),中心=T,比例=T)),
pca_aug=map2(pca,数据,~augment(.x,数据=.y))
)
例2:

iris_pca_v1 <- iris %>% 
  nest() %>% 
  mutate(
    pca = map(data, ~prcomp(.x %>% select(-Species), center = T, scale = T)),
    pca_aug = map2(pca, data, ~augment(.x, data = .y))
  )

iris\u pca\u v2%
选择(-Species)%>%
prcomp(中心=T,刻度=T)
但我想知道是否有一种方法可以使用相同的
tidyverse
框架在分组数据中应用主成分分析。假设我需要为每种不同的电脑配备不同的电脑


注意:在我的真实案例中,我在10年内处理50个州的20个变量,我想应用PCA为每个州建立一个指数,将这20个变量压缩成10年的指数。

也许这就是你要找的。为了达到您想要的结果,您可以按
物种进行嵌套或分组

库(tidyverse)
图书馆(扫帚)
iris_pca_v1%
嵌套()%>%
变异(
pca=map(数据,~prcomp(.x%>%select(-Species),中心=T,比例=T)),
pca_aug=map2(pca,数据,~augment(.x,数据=.y))
) %>% 
最新(pca_八月)%>%
选择(-data,-pca)
#>警告:`…`对于未分组的数据帧不能为空。
#>您想要'data=everything()'吗?
iris_pca_v2%
巢穴(数据=-物种)%>%
变异(
pca=地图(数据,~prcomp(.x,中心=T,比例=T)),
pca_aug=map2(pca,数据,~augment(.x,数据=.y))
) %>% 
最新(pca_八月)%>%
选择(-data,-pca)
ggplot()+
几何点(数据=iris\U pca\U v1,aes(.fittedPC1,.fittedPC2,color=“iris\U pca\U v1”))+
几何点(数据=虹膜pca v2,aes(.fittedPC1,.fittedPC2,color=“虹膜pca”))+
缩放颜色手册(值=c(虹膜pca v1=“黑色”,虹膜pca分组=“红色”))+
面_包装(~种)

也许这就是你想要的。为了达到您想要的结果,您可以按
物种进行嵌套或分组

库(tidyverse)
图书馆(扫帚)
iris_pca_v1%
嵌套()%>%
变异(
pca=map(数据,~prcomp(.x%>%select(-Species),中心=T,比例=T)),
pca_aug=map2(pca,数据,~augment(.x,数据=.y))
) %>% 
最新(pca_八月)%>%
选择(-data,-pca)
#>警告:`…`对于未分组的数据帧不能为空。
#>您想要'data=everything()'吗?
iris_pca_v2%
巢穴(数据=-物种)%>%
变异(
pca=地图(数据,~prcomp(.x,中心=T,比例=T)),
pca_aug=map2(pca,数据,~augment(.x,数据=.y))
) %>% 
最新(pca_八月)%>%
选择(-data,-pca)
ggplot()+
几何点(数据=iris\U pca\U v1,aes(.fittedPC1,.fittedPC2,color=“iris\U pca\U v1”))+
几何点(数据=虹膜pca v2,aes(.fittedPC1,.fittedPC2,color=“虹膜pca”))+
缩放颜色手册(值=c(虹膜pca v1=“黑色”,虹膜pca分组=“红色”))+
面_包装(~种)

iris_pca_v2 <- iris %>% 
  select(-Species) %>%
  prcomp(center = T, scale = T)