使用R,我最近感到惊讶的是,当使用一个因子时,sapply的输出。请看以下内容:
> F <- as.factor(c("A", "B", "C", "D", "E", "F"))
> sapply(F, function(x) x)
[1] A B C D E F
Levels: A B C D E F
> sapply(F, function(x) (x=="C"))
[1] FALSE FALSE TRUE FALSE FALSE FALSE
我试图在R中绘制一个C5.0对象树,但是它给出了以下错误,我似乎找不出如何修复它。
plot(model)
Error in partysplit(varid = as.integer(i), index = index, info = k, prob = NULL) :
minimum of ‘index’ is not equal to 1
In addition: Warning message:
In min(index, na.rm = TRUE) :
no non-missing arguments to min; returning Inf
在使用rpy2与来自synthpop R包(SD2011)的内置数据集时,我得到以下错误:
robjects.r('head(SD2011)')
# ...
# ValueError: codes need to be between -1 and len(categories)-1
我将问题深入到具有空项的列中,例如,在执行此操作时得到相同的错误,但不包含相邻的行或列:
robjects.r('SD2011[3, 27]')
我确认了这是一个null值,其中:
robjects.r('is.na(SD2011[, 27])')
# array(
如果某一值出现在另一列(A)中,则我希望更改一列(B)中的某些值,但如果列值保持不变,则更改该列值。例如,在以下简化的数据版本中,如果A列中的值为“无”,则我希望B列中的值更改为"0“,否则我希望B列中的值保持不变。
df <- data.frame(ID=c(1:4),A=c("1/wk","none","1/mo","1/wk"),B=c("3",NA,NA,"depends"))
> df
ID A B
1 1 1/wk
问题:需要使用按名称分组的同一列中的非NA值填写NA。
数据:
Name Date
Bob <NA>
Bob 2015-11-01
Bob <NA>
Bob <NA>
Ant <NA>
Ant <NA>
Ant 2015-11-03
Ant <NA>
Ted 2015-11-04
Ted <NA>
Ted <NA>
Ted <NA>
期望的结果:
Name Date Date.Combine
我有一个dataframe,其中包括一个与NAs和""一起损坏的行。我无法从导入到R中的.csv文件中删除它,因为.csv无法处理(打开).csv文档的大小。
我在第一次使用read.csv()时进行检查,如下面所示,以删除带有NA的行
if ( any( is.na(unique(data$A)) ) ){
print("WARNING: data has a corrupt row in it!")
data <- data[ !is.na(data$A) , ]
}
然而,就像它是一个factor一样,A列将NA记为一个级