eri*_*son 0 sorting r dataframe
我有一个包含数千行的数据框。数据帧由带有数值的列排序。我想创建一列,指示该行是否为包含特定数值的第一行。它应该仅基于该列。
数据框A是当前如何组织数据的示例,数据框B是我希望如何组织数据的示例。
A <- data.frame(c(22, 27, 32, 32, 33, 33, 37), c(121, 243, 765, 322, 433, 435, 728))
colnames(A) <- c("V1", "V2")
B <- data.frame(c(22, 27, 32, 32, 33, 33, 37), c(121, 243, 765, 322, 433, 435, 728), c("y", "y", "y", "n", "y", "n", "y"))
colnames(B) <- c("V1", "V2", "V3")
Run Code Online (Sandbox Code Playgroud)
您基本上是在寻找重复项,即
!duplicated(A$V1)
#[1] TRUE TRUE TRUE FALSE TRUE FALSE TRUE
Run Code Online (Sandbox Code Playgroud)
要么
ifelse(!duplicated(A$V1), 'y', 'n')
#[1] "y" "y" "y" "n" "y" "n" "y"
Run Code Online (Sandbox Code Playgroud)
我们也可以避免ifelse(由于@jogo)
c("n", "y")[1 + !duplicated(A$V1)]
#[1] "y" "y" "y" "n" "y" "n" "y"
Run Code Online (Sandbox Code Playgroud)