【发布时间】:2018-10-04 21:58:26
【问题描述】:
假设您在 R 中有以下矩阵:
[,1] [,2] [,3] [,4] [,5]
[1,] "A/B" 3 4 5 7
[2,] "A/C" 8 6 7 7
[3,] "A/B/C" 8 8 5 4
删除第一列有两个以上字母的行的最简单方法是什么?我认为理由应该是这样的:
if nchar(matrix[,1]!=3) then remove that row
但我不知道如何编码。任何帮助,将不胜感激! 谢谢
【问题讨论】:
-
如果你的矩阵被命名为
m,那么m = m[nchar(m[, 1]) <= 2, ]。 -
而且,仅供参考,矩阵只能具有一种数据类型,因此当您同时具有字符串和数字时,这是一个非常糟糕的选择。您应该改用数据框,它的每列可以有不同的数据类型。
-
让
mat成为矩阵的名称。然后就做mat[nchar(mat[,1])<3,] -
“字母”是指字符还是字母(即 A-Z)?