小编Moi*_*ira的帖子

在data.frame中显示具有NA的列

我想在包含缺失值的大型数据框中显示列的名称.基本上,我想要相当于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的列吗?

r dataframe

18
推荐指数
3
解决办法
2万
查看次数

Sed regexp 寻找空格或行尾

我正在尝试检测包含三个部分的模式:

  1. 空间
  2. “m”或“t”
  3. 空格或行尾

我想保留#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)

在上面的表达式中我应该如何表达“空格或行尾”?谢谢!

regex sed

5
推荐指数
2
解决办法
6626
查看次数

标签 统计

dataframe ×1

r ×1

regex ×1

sed ×1