gpt4 book ai didi

r - 基于唯一 ID 的列到行

转载 作者:行者123 更新时间:2023-12-04 13:37:22 24 4
gpt4 key购买 nike

我的数据目前的格式如下:

    ID  PC1     PC2     PC3     PC4
5 8970 864
6 2800 2812 2801 284
我想要的是每个数据点的单独行,链接到唯一 ID,以便:
    ID  PC
5 8970
5 864
6 2800
6 2812
6 2801
6 284
我意识到这是一个非常基本的问题,但在寻找类似的问题时,我只能找到相反的方法!

最佳答案

也许你可以试试 reshape像下面

dfout <- setNames(reshape(df,
direction = "long",
idvar = "ID",
varying = list(grep("^PC",names(df))))[-2],
c("ID","PC"))

dfout <- `row.names<-`(subset(dfout[order(dfout$ID),],!is.na(PC)),NULL)

以至于
> dfout
ID PC
1 5 8970
2 5 864
3 6 2800
4 6 2812
5 6 2801
6 6 284

数据
df <- structure(list(ID = 5:6, PC1 = c(8970L, 2800L), PC2 = c(864L, 
2812L), PC3 = c(NA, 2801L), PC4 = c(NA, 284L)), class = "data.frame", row.names = c(NA,
-2L))

关于r - 基于唯一 ID 的列到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61011122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com