`如何在大型数据集中(大约有 26000 个观察值)创建唯一 ID 列来替换旧的唯一 ID?
我尝试了此操作,但无法替换新 ID,因为数据集大约有 26,000 个 obs,并且我无法为所有 26,000 个 ID 键入“新 ID”。
library(dplyr)
newIDs <- paste0("NewID", seq_len(nrow(YourData)))
Data <- YourData %>%
mutate(NewID = 12000, 2200)
print(Data)
我试过这个
图书馆(dplyr)
您的数据 <- data.frame( OldID = c("1", "2", "3", "4"), Value = c(1, 2, 3, 4) )
新ID <- c("12000", "22000", "32000", "42000")
您的数据 <- YourData %>% 变异(NewID = newIDs)
打印(您的数据)
但是,这创建了一个新的数据集“YourData”,包含 4 个观测值和新 ID,但我需要为 26000 个 obs 创建新 ID,并且为 26000 个 obs 创建向量是不可能的。我可以做什么来解决这个问题?
我已经添加了结果的图像。请参阅上面的链接。
只需使用您刚刚创建的
newIDs
即可。
> library(dplyr)
> YourData %>%
+ mutate(NewID = newIDs)
OldID Value NewID
1 1 1 NewID1
2 2 2 NewID2
3 3 3 NewID3
4 4 4 NewID4
或者一步完成。
> YourData %>%
+ mutate(NewID = paste0("NewID", seq_len(nrow(.))))
OldID Value NewID
1 1 1 NewID1
2 2 2 NewID2
3 3 3 NewID3
4 4 4 NewID4
数据:
> YourData <- data.frame(OldID = c("1", "2", "3", "4"), Value = c(1, 2, 3, 4))
> newIDs <- paste0("NewID", seq_len(nrow(YourData)))