我正在开发一个程序,现在我正在寻找一种在上传文件时检查列名的方法。如果名称不是唯一的,则应该写一个错误。有什么办法吗?
例如,如果我有这些df:
library(dplyr)
test <- rename(test, Number = a)
test <- rename(test, Number = b)
> test
Number Number c
1 10 1 Peter
2 20 2 Ann
3 30 3 Mike
具有:
public Boolean chkmail(String email) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("Select * from user where email=?", new String[]{email});
if(cursor.getCount()>0) return false;
else return true;
如果这是一个文件,如何检查列名是否唯一。好的结果就是只有True或False!
谢谢!
答案 0 :(得分:4)
我们可以使用:
any(duplicated(names(df))) #tested with df as iris
[1] FALSE
关于OP的数据:
any(duplicated(names(test)))
[1] TRUE
可以使用@sindri_baldur和@akrun的建议简化以下内容
anyDuplicated(names(test))
如果您想知道有多少重复:
length(which(duplicated(names(test))==TRUE))
[1] 1
这也可以简化为(如@sindri_baldur所建议:
sum(duplicated(names(test)))
答案 1 :(得分:1)
test.frame <- data.frame(a = c(1:5), b = c(6:10))
a <- c(5:1)
test.frame <- cbind(test.frame, a)
## Build data.frame with duplicate column
test.unique <- function(df) { ## function to test unique columns
length1 <- length(colnames(df))
length2 <- length(unique(colnames(df)))
if (length1 - length2 > 0 ) {
print(paste("There are", length1 - length2, " duplicates", sep=" "))
}
}
这导致...
test.unique(test.frame)
[1]“有1个重复项”
答案 2 :(得分:0)
检查功能unique()
和colnames()
。例如:
are.unique.colnames <- function(array){
return(length(unique(colnames(array))) == dim(array)[2])
}
是基于不同列名的数量(任何类似数组的结构的简单有用的元数据)的功能