之前看到新闻,收纳工还变成了热门职业:
看来好好收拾也是一项厉害的技能。
R 一样啊,有时候乱七八糟的数据代码,看得让人头皮发麻。
参见:https://mp.weixin.qq.com/s/VOE3wV4-p_u72pH6Is0gsQ
收拾外部复制粘贴的内容
我们有的时候从网站或者paper中复制内容,粘贴到R中,还需要我们手动去分离,做成字符串。当然,如果要做成数据框的话,就更加麻烦了,需要多次手动复制粘贴。
这里可以直接使用R 包datapasta,将数据内容复制到R 中,会自动生成指定类型的转换代码,很容易就可以生成R 对象了。
包的主页在:https://github.com/MilesMcBain/datapasta
可以查看官网的一段演示:
https://raw.githubusercontent.com/milesmcbain/datapasta/master/inst/media/tribble_paste.gif
非常简单的安装配置:
install.packages("datapasta")
如果是linux 用户,还需要特别留意:
接着配置快捷键:
Tools -> Addins -> Browse Addins, then click Keyboard Shortcuts
一共可以复制粘贴五种形式:
这里作者推荐的快捷键分别是:
tribble_paste which pastes a table as a nicely formatted call to tibble::tribble()
Recommend Ctrl + Shift + t as shortcut.
Table can be delimited with tab, comma, pipe or semicolon.
vector_paste which will paste delimited data as a vector definition, e.g. c("a", "b") etc.
Recommend Ctrl + Alt + Shift + v as shortcut.
vector_paste_vertical which will paste delimited data as a vertically formatted vector definition.
Recommend Ctrl + Shift + v as shortcut
接下来就很容易了,直接复制内容,然后到选定的位置,按快捷键即可,比如向量:
tmp <- c("tribble_paste which pastes a table as a nicely formatted call to tibble::tribble()", "Recommend Ctrl + Shift + t as shortcut.", "Table can be delimited with tab, comma, pipe or semicolon.", "vector_paste which will paste delimited data as a vector definition, e.g. c(\"a\", \"b\") etc.", "Recommend Ctrl + Alt + Shift + v as shortcut.", "vector_paste_vertical which will paste delimited data as a vertically formatted vector definition.", "Recommend Ctrl + Shift + v as shortcut")
收拾自己的代码
包括两个选项,依旧是在快捷键中配置:
Fiddle Selection 有两个用途,可以给空格间隔的字符加上向量符号和逗号间隔:
sad, sdsad, asd, sad
c(sad, sdsad, asd, sad)
还可以整理数据框:
data.frame(sda = c("sd","sd"), asd = c("qqq",'ccc'))
data.frame(
stringsAsFactors = FALSE,
sda = c("sd", "sd"),
asd = c("qqq", "ccc")
)
Toggle Vector Quotes 则可以给c() 包裹的内容加上双引号。
通过二者的组合,我们可以非常方便的创建向量了。
这里还有一段介绍视频,挺酷的!
https://www.youtube.com/watch?v=Sz-tEVqZh5s&ab_channel=MilesMcBain