我有一个名为的字符向量Vector,这是输出:
[1] "140222" "140207" "0" "140214" "140228" "140322" "140307" "140419" "140517" "140719" "141018" "150117" "160115"
Run Code Online (Sandbox Code Playgroud)
我想有条件地删除与其他元素不同的唯一元素,在本例中为0.
我试过这种方法,但它似乎不起作用:
for (i in 1:length(Vector) {
if (nchar(Vector[i]) <=3)
{remove(Vector[i])}
}
Run Code Online (Sandbox Code Playgroud)
错误是:
删除错误(Vector [i]):...必须包含名称或字符串".
MDe*_*MDe 13
首先,您不需要为此使用循环.这将做你想要的:
Vector <- Vector[nchar(Vector) > 3]
如果你想专门删除"0",你会这样做:
Vector <- Vector[Vector != "0"]
导致错误是因为您在remove内部使用元素Vector而不是在对象上使用.换句话说,remove可以Vector从内存中删除所有内容,但不删除它的元素.其他对象也是如此.
| 归档时间: |
|
| 查看次数: |
26786 次 |
| 最近记录: |