在 R 中将复制的文本转换为字符串的快速方法?
Quick way to turn copied text to character strings in R?
我有一个从 R 外部复制的文本列表:
- 例如:a、b、c、d、e、f、g、h、i、j
我想快速将每个单词(在本例中为字母)转换为字符串供 R 使用:
- 例如:'a'、'b'、'c'、'd'、'e'、'f'、'g'、'h', 'i', 'j'
有没有将外部文本转成字符串字符的函数或快速方法?
示例:
> a,b,c,d
Error: unexpected ',' in "a,"
> function(a,b,c,d)
[1] 'a','b','c','d'
我知道一个简单的函数可能不起作用,因为它会假设非字符串是未知的 R 对象。但是可能有一些技巧可以使它起作用?
注意:我知道我可以在其他程序(例如记事本 ++)中相当快地执行此操作,但我想知道是否可以在 R 中快速执行此操作?
这里有一些简单的东西:
我先复制a,b,c,d
然后在R
:
z <- readClipboard()
z
[1] "a,b,c,d"
那你就可以玩玩了。示例:
strsplit(z, split = ",")
[[1]]
[1] "a" "b" "c" "d"
编辑: 这仅适用于 Windows。感谢@Gregor 的评论。
这是一个使用 read.table
和剪贴板(如 here and here 所示)的简单解决方案:
将文本或数据复制到剪贴板。
使用以下代码:
read.table("clipboard", head = T, sep = z)
- 其中 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 的评论)。
如果 table 带有标题(例如,从 MS Excel 复制的文本),read.table 方法会更快并且保持文本的结构。因此,如果您要复制具有结构的数据,请使用 read.table
.
如果您只是简单地复制文本(特别是如果您只想将其直接复制到您的脚本中),那么扫描方法就足够了 "more transparent."
我有一个从 R 外部复制的文本列表:
- 例如:a、b、c、d、e、f、g、h、i、j
我想快速将每个单词(在本例中为字母)转换为字符串供 R 使用:
- 例如:'a'、'b'、'c'、'd'、'e'、'f'、'g'、'h', 'i', 'j'
有没有将外部文本转成字符串字符的函数或快速方法?
示例:
> a,b,c,d
Error: unexpected ',' in "a,"
> function(a,b,c,d)
[1] 'a','b','c','d'
我知道一个简单的函数可能不起作用,因为它会假设非字符串是未知的 R 对象。但是可能有一些技巧可以使它起作用?
注意:我知道我可以在其他程序(例如记事本 ++)中相当快地执行此操作,但我想知道是否可以在 R 中快速执行此操作?
这里有一些简单的东西:
我先复制a,b,c,d
然后在R
:
z <- readClipboard()
z
[1] "a,b,c,d"
那你就可以玩玩了。示例:
strsplit(z, split = ",")
[[1]]
[1] "a" "b" "c" "d"
编辑: 这仅适用于 Windows。感谢@Gregor 的评论。
这是一个使用 read.table
和剪贴板(如 here and here 所示)的简单解决方案:
将文本或数据复制到剪贴板。
使用以下代码:
read.table("clipboard", head = T, sep = z)
- 其中 z
","
表示逗号分隔,"\t"
表示制表符分隔,等等。
- 其中 z
使用 scan
也是一个不错的选择:
scan(text='a, b, c, d, e, f, g, h, i, j',what = "", sep=",", quiet=TRUE, strip.white = TRUE)
(来自 akrun 和 Rich Scriven 的评论)。
如果 table 带有标题(例如,从 MS Excel 复制的文本),read.table 方法会更快并且保持文本的结构。因此,如果您要复制具有结构的数据,请使用 read.table
.
如果您只是简单地复制文本(特别是如果您只想将其直接复制到您的脚本中),那么扫描方法就足够了 "more transparent."