相关疑难解决方法(0)

如何从PHP中删除数组中的所有重复项?

首先,我想指出所有你复制的问题猎人,这个问题并没有完全回答我的问题.

现在,我有一个阵列.我们会说阵列是array(1, 2, 2, 3, 4, 3, 2)

我需要删除重复项.不只是其中一个重复,而是全部,所以结果将是array(1, 4)

我查看了array_unique(),但这只会导致array(1, 2, 3, 4)

有任何想法吗?

php arrays

12
推荐指数
2
解决办法
2512
查看次数

删除R中所有重复项的最快方法

我想删除在矢量中出现多次的所有项目.具体来说,这包括字符,数字和整数向量.目前,我正在使用duplicated()向前和向后(使用fromLast参数).

是否有更高计算效率(更快)的方法在R中执行此操作?下面的解决方案很简单,可以写入/读取,但执行重复搜索两次似乎效率低下.也许使用额外数据结构的基于计数的方法会更好?

例:

d <- c(1,2,3,4,1,5,6,4,2,1)
d[!(duplicated(d) | duplicated(d, fromLast=TRUE))]
#[1] 3 5 6
Run Code Online (Sandbox Code Playgroud)

相关的SO帖子在这里这里.

performance r unique duplicates

11
推荐指数
2
解决办法
2322
查看次数

带有nearPoints()的动态ggplot图层

我熟悉闪亮的基础知识但在这里挣扎.我希望能够在点击一个点时添加ggplot图层以突出显示该点.我知道这是可能的ggvis和画廊中有一个很好的例子,但我希望能够nearPoints()用来捕获点击作为ui输入.

我尝试了一些东西(见下文),它与ggplot图层分开显示然后消失.我已尝试过各种编辑reactive(),eventReactive()依此类推.

任何帮助深表感谢...

library(shiny)
library(ggplot2)

shinyApp(
  ui = shinyUI(
        plotOutput("plot", click = "clicked")
    ),

  server = shinyServer(function(input, output) {
    output$plot <- renderPlot({
      ggplot(mtcars, aes(x = mpg, y = wt)) +
        geom_point() +
        geom_point(data = nearPoints(mtcars, input$clicked), colour = "red", size = 5)
    })
  })
)
Run Code Online (Sandbox Code Playgroud)

我想我从概念上理解为什么这不起作用.该图具有依赖性,input$clicked这意味着当input$clicked更改时,图重新渲染,但这又会重置input$clicked.有点抓人22的情况.

r reactive-programming ggplot2 shiny

11
推荐指数
1
解决办法
1283
查看次数

如何仅识别"不重复"的行

我有这种情况.多个data.table"rbinded".

library(data.table)
x <-  data.table(id=c(1,2,3,4),dsp=c(5,6,7,8),status=c(FALSE,TRUE,FALSE,TRUE))
y <-  data.table(id=c(1,2,3,4),dsp=c(6,6,7,8),status=c(FALSE,FALSE,FALSE,TRUE))
z <- data.table(id=c(1,2,3,4),dsp=c(5,6,9,8),status=c(FALSE,TRUE,FALSE,FALSE))
w <- data.table(id=c(1,2,3,4),dsp=c(5,6,7,NA),status=c(FALSE,TRUE,FALSE,TRUE))
setkey(x,id)
setkey(y,id)
setkey(z,id)
setkey(w,id)
Bigdt<-rbind(x,y,z,w)
Run Code Online (Sandbox Code Playgroud)

我想只获取不重复的行,如:

id  dsp status
1   6   FALSE
2   6   FALSE
3   9   FALSE
4   8   FALSE
4   NA  TRUE
Run Code Online (Sandbox Code Playgroud)

所以我试过了

Resultdt<-Bigdt[!duplicated(Bigdt)]
Run Code Online (Sandbox Code Playgroud)

但结果是:

id  dsp status
1   5   FALSE
2   6   TRUE
3   7   FALSE
4   8   TRUE
Run Code Online (Sandbox Code Playgroud)

与我的期望不符.我尝试了不同的方法(因为rbind不是强制性的),例如merge,join等,data.table包似乎可能是包含解决方案的那个......显然.有任何想法吗?

r data.table

7
推荐指数
1
解决办法
274
查看次数

R:删除向量中的重复元素

我有一个像这样的向量:

x = c(1,2,3,4,5,6,4,5,6,7)

> x
 [1] 1 2 3 4 5 6 4 5 6 7
Run Code Online (Sandbox Code Playgroud)

我想摆脱重复并得到这样的东西:

> [1] 1 2 3 7 
Run Code Online (Sandbox Code Playgroud)

我的尝试

y = x[duplicated(x)]

> y
[1] 4 5 6

> x[x!=y]
[1] 1 2 3 7
Warning message:
In x != y : longer object length is not a multiple of shorter object length
> 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我应该担心这个错误吗?

还有另一种方法可以做到而不会出错吗?

r vector filter

5
推荐指数
2
解决办法
2940
查看次数

R:从向量中提取非重复值(对于重复项不保留一个值)

我想保留矢量中的非重复值,但不保留重复值中的一个元素。unique()对此不起作用。都不会重复()。

例如:

> test <- c(1,1,2,3,4,4,4,5,6,6,7,8,9,9)
> unique(test)
[1] 1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

而我希望结果是:2,3,5,7,8

关于如何解决这个问题的任何想法?谢谢!

r

5
推荐指数
2
解决办法
2413
查看次数

选择除一列之外的所有重复行

我想在数据集中查找所有列(除了一列)中的值都匹配的行。在尝试多次尝试让duplicated() 返回重复行的所有实例(不仅仅是第一个实例)失败后,我想出了一种方法来做到这一点(如下)。

例如,我想识别 Iris 数据集中除 Petal.Width 之外的所有相等的行。

require(tidyverse)
x = iris%>%select(-Petal.Width)
dups = x[x%>%duplicated(),]
answer =  iris%>%semi_join(dups)

> answer 
   Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
1           5.1         3.5          1.4         0.2    setosa
2           4.9         3.1          1.5         0.1    setosa
3           4.8         3.0          1.4         0.1    setosa
4           5.1         3.5          1.4         0.3    setosa
5           4.9         3.1          1.5         0.2    setosa
6           4.8         3.0          1.4         0.3    setosa
7           5.8         2.7          5.1         1.9 virginica
8           6.7         3.3          5.7         2.1 virginica
9           6.4         2.8          5.6         2.1 virginica
10          6.4 …
Run Code Online (Sandbox Code Playgroud)

r tidyverse

5
推荐指数
1
解决办法
2098
查看次数

删除数据帧列表中的重复列r

我有一个包含许多数据帧的List.每个数据框都包含重复的列.我想只返回每个数据帧中的唯一列.我尝试了几个代码,包括下面的代码,但仍然会出错.我目前使用的代码如下,并列出了我的列表中第一个数据帧的描述.我感谢任何帮助.

x  <- lapply(dataFiles, function(x){
  for(i in 1:length(colnames(dataFiles)))
  dataFiles[[!duplicated(dataFiles[[i]])]]
}
)



str(dataFiles[[1]])
'data.frame':   20381 obs. of  10 variables:
 $ FILEID    : chr  "ACSSF" "ACSSF" "ACSSF" "ACSSF" ...
 $ FILETYPE  : num  2.01e+08 2.01e+08 2.01e+08 2.01e+08 2.01e+08 ...
 $ STUSAB    : chr  "ny" "ny" "ny" "ny" ...
 $ CHARITER  : int  0 0 0 0 0 0 0 0 0 0 ...
 $ SEQUENCE  : int  1 1 1 1 1 1 1 1 1 1 ...
 $ LOGRECNO  : int …
Run Code Online (Sandbox Code Playgroud)

r list duplicates dataframe

3
推荐指数
1
解决办法
713
查看次数

消除 R 中的重复项

如果我有这样的 df

data<-data.frame(id=c(1,1,3,4),n=c("x","y","e","w"))
data
  id n
1  1 x
2  1 y
3  3 e
4  4 w
Run Code Online (Sandbox Code Playgroud)

我想得到一个这样的新 df:

data
  id n
3  3 e
4  4 w
Run Code Online (Sandbox Code Playgroud)

也就是说,我希望它删除所有重复的行。我试过像distinctfromdplyr这样的函数,但它总是得到重复行之一。

r

2
推荐指数
1
解决办法
64
查看次数

删除所有重复行,包括“引用”行

我正在寻找一种从向量中删除所有重复元素的方法,包括参考元素。通过参考元件我的意思是这是目前用在比较中,要搜索其重复的元素。例如,如果我们考虑这个向量:

a = c(1,2,3,3,4,5,6,7,7,8) 
Run Code Online (Sandbox Code Playgroud)

我想获得:

b = c(1,2,4,5,6,8)
Run Code Online (Sandbox Code Playgroud)

我知道的duplicated()unique(),但他们没有提供我正在寻找的结果。

r duplicate-removal

1
推荐指数
1
解决办法
276
查看次数

删除所有重复的值

如果我有一个矢量:

x <- c(5, 6, 2, 9, 5, 2, 1, 9, 9)
Run Code Online (Sandbox Code Playgroud)

如何创建包含从未重复过的元素的另一个向量?在这种情况下,它将是:( c(6, 1)因为重复了5,2和9)

r vector

0
推荐指数
1
解决办法
79
查看次数