r - R中的For-If循环操作
问题描述
我正在尝试在 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")
所以你会得到这样的东西
nama1 nama2 nama3
1 Ali Ali Khalid
2 Ali Abu Robin
3 Abu Ahmad Ahmad
4 Ali Ali Ali
5 Ahmad Abu JOrdan
6 siti Aisyah siti
所以我想做的基本上是:
c<-0
for (i in x){
if (x[i,1]==x[i+1,1]){
c=c+1
}
print c
}
我想要的最终输出是指定每行中有多少重复项,然后在列中执行它......比如
for i=1 to 10
for j=1 to 20
cells(i,j)="XXX"
do this
next j
next i
问题是我不知道如何在 R 中指定单个单元格,例如。在 VBA 中你可以做 cells(i+1,1)=cells(i,1).. 我正在学习在 R 中做非常简单的数据操作。
我想在最后总结所有列的 c 值。所以应该是 4+4+6=14。
欢迎任何建议!谢谢
解决方案
#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
推荐阅读
- android - 用户级别的 Firebase Cloud Firestore 中的身份验证问题
- javascript - 合并来自不同 CSV 的对象数组
- html - React.js import font-awesome 不适用于 npm
- javascript - 使用 jQuery 切换?
- vba - 从 Internet 页面的下拉列表中选择
- php - 分别打印会话数组数据以供进一步使用
- apache - 将 .htaccess 转换为 IIS web.config
- visual-studio - Visual Studio 安装项目 - 如何避免重复条目?
- c# - 如何在检查特定属性的可枚举列表中搜索重复项
- sql - 返回 postgresql 中的行数