我试图用我的数据中的一些缺失值替换来自类似组的平均值.
我的数据如下:
X Y
1 x y
2 x y
3 NA y
4 x y
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
X Y
1 x y
2 x y
3 y y
4 x y
Run Code Online (Sandbox Code Playgroud)
我写了这个,它有效
for(i in 1:nrow(data.frame){
if( is.na(data.frame$X[i]) == TRUE){
data.frame$X[i] <- data.frame$Y[i]
}
}
Run Code Online (Sandbox Code Playgroud)
但是我的data.frame几乎有五十万行,而for/if语句非常慢.我想要的是类似的东西
is.na(data.frame$X) <- data.frame$Y
Run Code Online (Sandbox Code Playgroud)
但这会导致不匹配的大小错误.似乎应该有一个命令来执行此操作,但我无法在SO或R帮助列表中找到它.有任何想法吗?
我是git的新手,很抱歉,如果这个问题已经得到解答.我很难找到答案.
我想忽略一组之前从未提交过的文件,并使用github应用程序选择它们并忽略它们.我转到另一个分支一段时间,当我回到我的分支时,我忽略的文件消失了.
这些文件被删除了吗?
我使用git checkout切换回分支,然后git status --ignored.我丢失的文件不存在.
我正在使用R生成如何处理我正在教授的统计类的缺失数据的示例.一种方法需要生成"缺失值二进制变量",其中0表示包含缺失值的情况,1表示没有缺失值.例如
n X Y Z
1 4 300 2
2 8 400 4
3 10 500 7
4 18 NA 10
5 20 50 NA
6 NA 1000 5
Run Code Online (Sandbox Code Playgroud)
我想生成一个变量M,这样
n m
1 1
2 1
3 1
4 0
5 0
6 0
Run Code Online (Sandbox Code Playgroud)
考虑到R处理缺失值的能力,这看起来应该很简单.我发现的最接近的是m <-ifelse(is.na(missguns),0,1),但所有这一切都会生成一个新的整个数据矩阵,其中0或1表示缺失.但是,我只想要一个变量来指示行是否包含缺失值.
如果我有以下Datomic数据库:
{ :fred :age 42 }
{ :fred :likes :pizza }
{ :sally :age 42 }
Run Code Online (Sandbox Code Playgroud)
如何查询两个实体(:fred和:sally),取回属性:likes :pizza的:fred和一个空值:sally?
查询
[:find ?n ?a ?l
:where [?n :age ?a]
[?n :likes ?l]]
Run Code Online (Sandbox Code Playgroud)
只返回:fred 42 :pizza.
我想在R中缺少分类和数值的数据集上执行市场细分聚类.由于缺少值,我无法执行k均值聚类.
R版本3.1.0(2014-04-10)
平台:x86_64-apple-darwin13.1.0(64位)
Mac OSX 10.9.3 4GB硬盘
R中是否有可用于支持部分填充率的聚类算法包?在研究缺失值的学术文章时,研究人员为特殊用例创建了一种新算法,并且R中没有包.例如,k-means有软约束,k-means聚类有部分距离策略.
我有36个变量,但这里是前5个的描述:
head(df)
user_id Age Gender Household.Income Marital.Status
1 12945 Male
2 12947 Male
3 12990
4 13160 25-34 Male 100k-125k Single
5 13195 Male 75k-100k Single
6 13286
Run Code Online (Sandbox Code Playgroud)
如果我能提供更多信息,请告诉我.
如何在应用机器学习算法之前处理数据集中的缺失值?
我注意到丢失缺失的NAN值并不是一件好事.我通常使用pandas进行插值(计算平均值)并填充数据,这是一种有效的工作并提高分类准确性,但可能不是最好的事情.
这是一个非常重要的问题.处理数据集中缺失值的最佳方法是什么?
例如,如果您看到此数据集,则只有30%具有原始数据.
Int64Index: 7049 entries, 0 to 7048
Data columns (total 31 columns):
left_eye_center_x 7039 non-null float64
left_eye_center_y 7039 non-null float64
right_eye_center_x 7036 non-null float64
right_eye_center_y 7036 non-null float64
left_eye_inner_corner_x 2271 non-null float64
left_eye_inner_corner_y 2271 non-null float64
left_eye_outer_corner_x 2267 non-null float64
left_eye_outer_corner_y 2267 non-null float64
right_eye_inner_corner_x 2268 non-null float64
right_eye_inner_corner_y 2268 non-null float64
right_eye_outer_corner_x 2268 non-null float64
right_eye_outer_corner_y 2268 non-null float64
left_eyebrow_inner_end_x 2270 non-null float64
left_eyebrow_inner_end_y 2270 non-null float64
left_eyebrow_outer_end_x 2225 non-null float64
left_eyebrow_outer_end_y 2225 non-null float64 …Run Code Online (Sandbox Code Playgroud) 在他们的文章的第3.4节中,作者解释了他们在搜索树木生长的最佳候选分割时如何处理缺失值.具体来说,它们为那些节点创建默认方向,作为拆分特征,在当前实例集中具有缺失值的节点.在预测时,如果预测路径经过该节点并且缺少特征值,则遵循默认方向.
然而,当缺少特征值并且节点没有默认方向时,预测阶段将会中断(并且这可能在许多情况下发生).换句话说,他们如何将默认方向与所有节点相关联,甚至是那些在训练时设置的活动实例中具有无缺失分裂功能的节点?
我有一个同时包含随机缺失(MAR)和审查数据的数据集。这些变量是相关的,因此我尝试有条件地估算缺失的数据,以便可以估计相关的多元正态分布的分布参数。我想使用Gibbs MCMC,但是很难执行该程序。我的数据框有5个变量(表示为x1:x5),1099个样本,其中包含MAR,检查值和观察值的某种组合。到目前为止,这是我尝试过的:
# packages
library(msm, tmvtnorm, MCMCpack)
# priors
theta0<-c(rep(0, 5))
Sigma0<-S0<-diag(5)
nu0<-4
# initialize parameters
theta<-c(rep(0, 5))
Tau<-diag(5)
# initialize output matrix
n_samples <- 1000
mu_MCMC <- matrix(0, nrow = n_samples, ncol = 5)
mu_MCMC[1,] <- theta
cov_MCMC <- matrix(0, nrow = n_samples, ncol = 25)
cov_MCMC[1,] <- c(diag(5))
# detection limits
det_lim <- matrix(c(-1.7, 0, 0, 0, 0), nrow = 1, ncol = 5)
# function to detect NaN (i.e., below detection data)
is.nan.data.frame <- function(x)
do.call(cbind, lapply(x, …Run Code Online (Sandbox Code Playgroud) 在我的数据中,在某些月份存在对某些ID的观察,而在其他月份则没有,例如
dat <- data.frame(c(1, 1, 1, 2, 3, 3, 3, 4, 4, 4), c(rep(30, 2), rep(25, 5), rep(20, 3)), c('2017-01-01', '2017-02-01', '2017-04-01', '2017-02-01', '2017-01-01', '2017-02-01', '2017-03-01', '2017-01-01',
'2017-02-01', '2017-04-01'))
colnames(dat) <- c('id', 'value', 'date')
Run Code Online (Sandbox Code Playgroud)
我想,每个id值插入一行,其中包括一个月(县)缺少该id和NA的value.
有没有办法(有些)简明扼要地做这几个月seq(min(as.Date(dat$date)), max(as.Date(dat$date)), by = 'months')?我经常使用tidyverse和data.table,但我对任何方法都持开放态度.
missing-data ×10
r ×6
imputation ×2
candidate ×1
datomic ×1
dplyr ×1
dummy-data ×1
git ×1
git-branch ×1
github ×1
na ×1
pandas ×1
python ×1
replace ×1
search ×1
split ×1
xgboost ×1