【发布时间】:2018-12-13 12:24:52
【问题描述】:
我试图弄清楚如何从列表中删除几个字符(不是一个字符):
-首先我将我的data.frame(单列)转换为A的字符列表A2[]<-lapply(A,as.character)
-然后我将其转换为A3<-unlist(A2, recursive = TRUE, use.names = TRUE),生成一个向量,其中包含A1 中出现的所有原子成分。
最后我使用str_remove(A3, ".") 删除,在这种情况下,点。见下文:
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
"*" "*" "*" "*" "*" "*" "*" "*" "*" "*"
A11 A12 A13 A14 A15 A16 A17 A18 A19 A20
"*" "=1-" "*C:" "I" "." "." "." "." "." "."
A21 A22 A23 A24 A25 A26 A27 A28 A29 A30
"." "2" "V7b" "." "." "." "." "I" "." "."
问题是应用str_remove() 向量的其他元素作为“*”会丢失。这正常吗?
[1] "" "" "" "" "" "" "" "" "" ""
[11] "" "1-" "C:" "" "" "" "" "" "" ""
[21] "" "" "7b" "" "" "" "" "" "" ""
有没有更好的方法来做到这一点?它只是删除“。”该列的:
12 =1-
13 *C:
14 I
15 .
16 .
17 .
18 .
19 .
20 .
21 .
22 2
23 V7b
24 .
25 .
26 .
27 .
28 I
29 .
30 .
31 .
得到:
=1-
*C:
I
2
V7b
I
【问题讨论】:
-
您在使用
str_remove之前所做的大部分工作似乎都是不必要的。首先你使用as.list然后unlist?为什么? -
感谢您的评论。所以,你的意思是
unlist可以直接完成。我将重新提出问题。 -
我什至不知道你为什么需要
unlist。你就不能A1[[1]]吗? -
我试过了,但它不起作用。我需要原子 c。申请
str_remove。但是as.list是不必要的。