r - 仅在 R 中选择所有非零列的行
问题描述
我对 R 比较陌生,并且想要获取所有列的所有列都具有非零值的行,所以基本上是一行,甚至有一个列具有零值或 NA 值;我根本不想要那行。
这是我的数据框的样子;非常感谢任何帮助。
编辑:执行后dput(head(mydata,20))
;它看起来像下面
structure(list(Q3_1 = c("1", "1", "1", "5", "6", "3", "2", "",
"", "", "", "", "", "", ""), Q6_1 = c("2", "2", "1", "2", "6",
"3", "2", "", "", "", "", "", "", "", ""), Q12_1 = c("1", "1",
"8", "7", "1", "4", "7", "", "", "", "", "", "", "", ""), Q15_1 = c("1",
"1", "4", "5", "1", "9", "8", "", "", "", "", "", "", "", ""),
Q18_1 = c("2", "2", "1", "6", "4", "9", "3", "", "", "6",
"", "", "", "", ""), Q21_1 = c("1", "1", "2", "3", "3", "4",
"8", "", "", "", "", "", "", "", ""), Q24_1 = c("1", "1",
"1", "2", "2", "8", "8", "", "", "", "", "", "", "", ""),
Q27_1 = c("1", "2", "3", "4", "5", "2", "9", "", "", "",
"", "", "", "", ""), Q30_1 = c("2", "2", "2", "2", "2", "2",
"2", "", "", "", "", "", "", "", ""), Q36_1 = c("6", "2",
"2", "2", "2", "6", "6", "", "", "4", "", "", "", "9", "7"
), Q39_1 = c("10", "2", "2", "2", "2", "2", "2", "4", "2",
"", "", "3", "7", "10", "9"), Q42_1 = c("1", "2", "3", "4",
"5", "6", "7", "9", "5", "4", "", "", "7", "", "5"), Q45_1 = c("1",
"2", "2", "2", "2", "2", "2", "", "", "5", "", "", "8", "4",
""), Q48_1 = c("7", "2", "3", "4", "5", "6", "8", "", "6",
"", "5", "", "1", "8", ""), Q51_1 = c("1", "2", "3", "8",
"3", "4", "4", "9", "8", "6", "4", "8", "1", "7", "7"), Q54_1 = c("1",
"2", "3", "7", "4", "4", "4", "1", "4", "6", "", "1", "",
"", "2"), Q60_1 = c("1", "2", "3", "3", "3", "3", "3", "3",
"6", "", "", "10", "", "", "9"), Q63_1 = c("1", "1", "1",
"1", "1", "1", "1", "1", "1", "", "", "1", "5", "", ""),
Q66_1 = c("4", "4", "4", "7", "6", "4", "4", "7", "3", "",
"7", "", "4", "", "1"), Q69_1 = c("3", "3", "5", "4", "7",
"4", "5", "5", "5", "", "", "", "7", "", "1"), Q72_1 = c("3",
"4", "5", "4", "5", "6", "6", "3", "8", "", "8", "1", "",
"7", "6"), Q74_1 = c("4", "5", "5", "5", "2", "4", "5", "4",
"4", "5", "4", "3", "3", "5", "2"), Q75_1 = c("5", "2", "3",
"5", "4", "3", "4", "4", "3", "4", "1", "2", "2", "4", "5"
), Q76_1 = c("1", "2", "1", "4", "5", "2", "5", "1", "2",
"5", "5", "2", "2", "2", "5")), row.names = c(5L, 7L, 9L,
11L, 12L, 16L, 17L, 18L, 21L, 24L, 26L, 32L, 34L, 35L, 40L), class = "data.frame")
解决方案
我会首先将您的空白""
值更改为NA
缺失值,然后使用函数na.omit
或complete.cases
可用于执行您想要的操作:
mydata[mydata == ""] <- NA
# then either of these should work
result1 <- na.omit(mydata)
result2 <- mydata[complete.cases(mydata), ]
您可能希望在工作流中解决""
较早的问题 - 用于将数据读入 R(可能read.csv()
或类似)的函数可能有一种方法可以指定应将空白视为缺失值。因为read.csv
,你会使用na.strings = ""
. 现在,您的所有列都是字符类,您可能希望在去掉空格后将它们更改为数字。如果您使用na.strings = ""
,您的列将自动加载为数字列。
推荐阅读
- java - Spring Boot 自动从 data.sql 导入 utf-8 数据
- mysql - 如何使用OWL+mysql创建语义搜索引擎
- html - 在 MVC 项目的头文件中添加模态对话框不起作用
- python - 如何在 Python 中绘制带有数据点的折线图?
- c++ - glPushMatrix() glPopMatrix() 不起作用
- javascript - 无法将画布类型图像代码转换为 SVG.js
- c++ - 从 'const char*' 到 'uint32_t {aka unsigned int}' 的无效转换 [-fpermissive]
- python-3.x - 如何在 python 中将最佳概率分布模型拟合到我的数据?
- java - 带有 Couchbase 服务的 Spring WebMVC - 没有名为“couchbaseRepositoryOperationsMapping”的 bean 可用
- objective-c - 如果未设置变量,有没有办法在 Xcode 自动完成中隐藏方法?