我想在包含缺失值的大型数据框中显示列的名称.基本上,我想要相当于complete.cases(df)但是对于列而不是行.有些列是非数字的,所以类似于
names(df[is.na(colMeans(df))])
Run Code Online (Sandbox Code Playgroud)
返回"colMeans中的错误(df):'x'必须是数字." 因此,我目前的解决方案是转置数据框并运行complete.cases,但我猜测有一些变体(或者plyr中的某些东西)效率更高.
nacols <- function(df) {
names(df[,!complete.cases(t(df))])
}
w <- c("hello","goodbye","stuff")
x <- c(1,2,3)
y <- c(1,NA,0)
z <- c(1,0, NA)
tmp <- data.frame(w,x,y,z)
nacols(tmp)
[1] "y" "z"
Run Code Online (Sandbox Code Playgroud)
有人能告诉我一个更有效的功能来识别有NA的列吗?
我正在尝试检测包含三个部分的模式:
我想保留#2 和#3。例如,我想将“我确定他没有”更改为“我确定他没有”
我在表达 #3 时遇到困难,因为[ $]似乎只匹配空格,而不匹配行尾。这是我尝试过的:
$ echo "i m sure he doesn t" | sed 's/ \([mt]\)\([ $]\)/\1\2/g'
im sure he doesn t
Run Code Online (Sandbox Code Playgroud)
在上面的表达式中我应该如何表达“空格或行尾”?谢谢!