【发布时间】:2021-01-11 20:12:08
【问题描述】:
我有一个具有唯一值的重复 ID 的数据框。我需要使 ID 唯一。
df <- read.csv("test.csv")
ID: A1, A1, A2, A2, A3, A3, A4, A4
Value: 0.5, 0.9, 1.5, 0.8, 2.2, 2.4, 3.1, 0.5
我需要得到这个数据框:
ID: A1_1, A1_2, A2_1, A2_2, A3_1, A3_2, A4_1, A4_2
Value: 0.5, 0.9, 1.5, 0.8, 2.2, 2.4, 3.1, 0.5
我尝试了以下代码,它添加了一个重复交替 _1 和 _2 的列并连接到 ID:
unique <- c("_1", "_2")
Unique.col <- matrix(rep(unique, ))
unique_ID <- cbind(df, Unique.col)
unique_ID$ID <- paste(unique_ID$ID, unique_ID$Unique.col)
unique_ID
我得到以下数据框,其中 A1 和 _1 之间有一个空格:
ID: A1 _1, A1 _2, A2 _1, A2 _2, A3 _1, A3 _2, A4 _1, A4 _2
Value: 0.5, 0.9, 1.5, 0.8, 2.2, 2.4, 3.1, 0.5
有没有更好的方法或摆脱空间的方法?
【问题讨论】:
-
在您的方法中使用
paste0而不是paste。 -
感谢 markus 和大家的快速回复。我使用了 paste0 并且成功了。