r - 数据框错误:参数暗示不同的行数但它们是相同的?
问题描述
我正在使用一个函数来删除异常值,该函数还以表格格式显示异常值和它们所属的类。这个函数在一个较小的可重现脚本上工作得非常好,可以在这里找到已经编写的函数:
https://www.dropbox.com/s/evlc0mqhn6a15k7/Reproduce.R?dl=0
但是,在我包含 846 个 obs 的完整数据集上。我收到此错误:data.frame 中的错误(OutVals,columns,classes):参数暗示不同的行数:55、123
完整数据集 csv:https ://www.dropbox.com/s/y0i7sbrm7sa5ssu/vehiclescsv.csv?dl=0
我对 R 真的很陌生。不知道为什么在我处理较小的相同数据集时会在我的完整数据集上出现这个问题。
任何帮助将不胜感激。
library(reshape2)
library(NbClust)
library(flexclust)
library(factoextra)
library(dplyr)
OutlierRemoval <- function(data, class){
x <- boxplot(data)
OutVals <- x$out
columns <- x$group
ind=numeric()
classes=c()
if(length(columns) > 0) {
for(i in 1:length(columns)){
rows=which(data[,columns[i]]==OutVals[i])
ind=union(ind,rows)
classes=c(classes,class[rows])
}
dt=data.frame(OutVals, columns, classes)
print(dt)
return (list(data[-ind,], class[-ind]))
}
return(list(data, class))
}
vehicles <- read.csv("vehiclescsv.csv")
vehData <- vehicles[, -c(1,20)] #Remove sample and class col.
vehClass <- vehicles$Class #Keep vehicleClass
instance1 <- OutlierRemoval(vehData, vehClass)
解决方案
推荐阅读
- python-3.x - erratic behaviour with df.merge pandas
- python - 使用 BeautifulSoup 从网页下载多个 csv 文件
- botframework - 如何更改语音输入的直线语言?C#
- python - 如何在 Django 模板中显示分页?
- python - Pandas Dataframe split multiple key values to different columns
- mysql - Sql Query to edit full url ignoring section
- math - Compare an angle of arcs with common point
- java - How to play my internal(mobile) video file in my android app ? give the URL path for this?
- java - Use onNewIntent(...) in a fragment
- javascript - Remove mouse/cursor design on mobile view