这比什么都方便。我经常手工添加引号和逗号来为其他函数创建c()列表。有没有一种快速而聪明的方法来添加它们,而不涉及棘手的查找/替换或多个操作?如果我有多个项目由空格或制表符分隔,或者每行一个项目,我想做以下操作:阿拉伯联合酋长国或A类BC级D级致:
temp <- c("A", "B", "C", "D")
我可以手动添加它们,对""的空格进行查找/替换,然后添加第一个/最后一个,但这很烦人。有没有更快的方法?
bybem2ql1#
scan函数是所有read.*函数的基础,但它也用于执行您希望执行的任务。几年前,text参数被添加,因此您不再需要将textConnection Package 在“裸字符串”周围。可以与任何分隔符一起使用,默认的空白分隔符将处理yopu要求处理的内容:
scan
read.*
text
textConnection
TEMP <- scan(text="A B C D", what="") #------------------- Read 4 items > TEMP [1] "A" "B" "C" "D" > dput(TEMP) c("A", "B", "C", "D")
如果需要在可能是数字的内容上保留前导零,则需要将其作为文本导入,或者在使用formatC或sprintf打印时预先添加前导零
formatC
sprintf
r7xajy2e2#
下面是基本R字符串函数和stringr字符串函数的选项。在这两种情况下,想法都是在每个空格处拆分文本,然后用单引号替换单词边界(')。这样做的原因是为了与双引号区分开来("),即在字符串中使用引号。您应该能够通过转义双引号来执行相同的操作(\\"),但是我发现我在尝试这样做的时候很少能正确地匹配它们,所以我没有测试它,然后你用逗号(也可以是逗号后面跟一个空格)把这个字符串向量折叠起来。具有基本功能:
stringr
'
"
\\"
library(dplyr) library(stringr) txt <- "A B C D" split_txt <- strsplit(txt, split = "\\s")[[1]] quoted <- gsub("\\b", "'", split_txt) paste(quoted, collapse = ",") #> [1] "'A','B','C','D'"
或者是整洁宇宙:
txt %>% str_split("\\s") %>% `[[`(1) %>% str_replace_all("\\b", "'") %>% str_flatten(collapse = ",") #> [1] "'A','B','C','D'"
6vl6ewon3#
尽管这有点棘手,但您可以在RStudio中创建和使用 * 多个游标 *。可以通过多种方式创建多个游标:按下Ctrl + Alt + {向上/向下}键,在按下的方向创建一个新光标。按Ctrl + Alt + Shift + {方向}可沿指定方向移动第二个光标,使用Alt键并拖动鼠标以创建矩形选区,使用Alt + Shift并单击,以创建从当前光标位置到单击位置的矩形选择。取自here和gif,其外观如下:
gopyfrb34#
你可以试试typeStringsGadget RStudio Addin,它能完全满足你的需求,参见下面的用例。
rm5edbpk5#
查看datapasta插件。
install.packages("datapasta")
然后进入工具-〉加载项,搜索datapasta。你会看到粘贴的所有选项。你可以将数据框粘贴为数据,粘贴为矢量,等等。
5条答案
按热度按时间bybem2ql1#
scan
函数是所有read.*
函数的基础,但它也用于执行您希望执行的任务。几年前,text
参数被添加,因此您不再需要将textConnection
Package 在“裸字符串”周围。可以与任何分隔符一起使用,默认的空白分隔符将处理yopu要求处理的内容:如果需要在可能是数字的内容上保留前导零,则需要将其作为文本导入,或者在使用
formatC
或sprintf
打印时预先添加前导零r7xajy2e2#
下面是基本R字符串函数和
stringr
字符串函数的选项。在这两种情况下,想法都是在每个空格处拆分文本,然后用单引号替换单词边界('
)。这样做的原因是为了与双引号区分开来("
),即在字符串中使用引号。您应该能够通过转义双引号来执行相同的操作(\\"
),但是我发现我在尝试这样做的时候很少能正确地匹配它们,所以我没有测试它,然后你用逗号(也可以是逗号后面跟一个空格)把这个字符串向量折叠起来。具有基本功能:
或者是整洁宇宙:
6vl6ewon3#
尽管这有点棘手,但您可以在RStudio中创建和使用 * 多个游标 *。
可以通过多种方式创建多个游标:
按下Ctrl + Alt + {向上/向下}键,在按下的方向创建一个新光标。
按Ctrl + Alt + Shift + {方向}可沿指定方向移动第二个光标,
使用Alt键并拖动鼠标以创建矩形选区,
使用Alt + Shift并单击,以创建从当前光标位置到单击位置的矩形选择。
取自here和gif,其外观如下:
gopyfrb34#
你可以试试typeStringsGadget RStudio Addin,它能完全满足你的需求,参见下面的用例。
rm5edbpk5#
查看datapasta插件。
然后进入工具-〉加载项,搜索datapasta。你会看到粘贴的所有选项。你可以将数据框粘贴为数据,粘贴为矢量,等等。