我有一个从R外部复制的文本列表:
我想快速将每个单词(在本例中为letter)转换为R字符串以供使用:
是否有将外部文字转换为字符串字符的功能或快捷方式?
示例:
> a,b,c,d
Error: unexpected ',' in "a,"
> function(a,b,c,d)
[1] 'a','b','c','d'
我理解一个简单的函数可能不会起作用,因为它会假设非字符串是未知的R对象。但是有可能有一些技巧可以让它发挥作用吗?
注意:我知道我可以很快地在其他程序(例如记事本++)中执行此操作,但我想知道是否可以在R中快速执行此操作?
答案 0 :(得分:1)
这是一件简单的事情:
我首先复制a,b,c,d
和R
:
z <- readClipboard()
z
[1] "a,b,c,d"
然后你可以玩它。例如:
strsplit(z, split = ",")
[[1]]
[1] "a" "b" "c" "d"
编辑:这只适用于Windows。感谢评论@Gregor。
答案 1 :(得分:0)
以下是使用read.table
和剪贴板(如here和here所示)的简单解决方案:
将文字或数据复制到剪贴板。
使用以下代码:
read.table("clipboard", head = T, sep = z)
","
,制表符分隔的"\t"
等。使用scan
也是一个不错的选择:
scan(text='a, b, c, d, e, f, g, h, i, j',what = "", sep=",", quiet=TRUE, strip.white = TRUE)
(来自akrun和Rich Scriven的评论)。
read.table方法更快,并且如果其具有标题的表(例如,从MS Excel复制的文本),则保持文本的结构。因此,如果您要使用结构复制数据,请使用read.table
。
如果您只是简单地复制文本(特别是如果您只想将其直接复制到脚本中),那么扫描方法就足够了,并且更加透明。&#34;