用于R中的If循环操作

用于R中的If循环操作,r,for-loop,if-statement,R,For Loop,If Statement,我试图在R上复制一个非常简单的VBA代码,以识别重复项。我的目标是确定一个样本集中有多少组重复项,首先通过跨行向下读取,然后跨列读取。 所以我提出了这个样本: x<-matrix(data=c("Ali","Ali","Abu","Ali","Ahmad","siti","Ali","Abu", "Ahmad", "Ali", "Abu", "Aisyah", "Khalid", "Robin","Ahmad","Ali","JOrdan","siti"), nrow=6) x<-d

我试图在R上复制一个非常简单的VBA代码,以识别重复项。我的目标是确定一个样本集中有多少组重复项,首先通过跨行向下读取,然后跨列读取。 所以我提出了这个样本:

x<-matrix(data=c("Ali","Ali","Abu","Ali","Ahmad","siti","Ali","Abu", "Ahmad", "Ali", "Abu", "Aisyah", "Khalid", "Robin","Ahmad","Ali","JOrdan","siti"), nrow=6)
x<-data.frame(x)

colnames(x)<-c("nama1","nama2","nama3")
所以我想做的基本上是:

c<-0
for (i in x){
    if (x[i,1]==x[i+1,1]){
        c=c+1
        }
    print c
    }
问题是我不知道如何在R中指定单个单元格,比如在VBA中,您可以做单元格(I+1,1)=单元格(I,1)。。我正在学习在R中进行非常简单的数据操作

我想总结一下最后所有列的c值。所以它是4+4+6=14


欢迎任何意见!谢谢

你能展示一下你的预期产出吗?同意Ronak的观点,你应该明确展示你的预期产出。也许你想要的可能是
apply(x,1,函数(i)sum(duplicated(i))
(对于行)和
apply(x,2,函数(i)sum(duplicated(i))
(对于列)Hi伙计们,很抱歉我延迟了更新问题这不是代码高尔夫而是
apply(x,1,函数(i)sum(duplicated(i)))
略短(请参见我上面的评论;-)@mauritservers-true:)
#row total number of duplicates
apply(x, 1, function(x) length( x[ duplicated(x) ] ) )
#[1] 1 0 1 2 0 1

#column total number of duplicates
apply(x, 2, function(x) length( x[ duplicated(x) ] ) )
#nama1 nama2 nama3 
#    2     2     0 
 for i=1 to 10
 for j=1 to 20
        cells(i,j)="XXX"
        do this
 next j
 next i
#row total number of duplicates
apply(x, 1, function(x) length( x[ duplicated(x) ] ) )
#[1] 1 0 1 2 0 1

#column total number of duplicates
apply(x, 2, function(x) length( x[ duplicated(x) ] ) )
#nama1 nama2 nama3 
#    2     2     0