将剪贴板用作矢量R(windows)
我正试图以向量的形式读取R中的剪贴板。我有一个向量格式的数字列表,我以前尝试过复制和粘贴值,但在4000个数字之后R停止将剪贴板用作矢量R(windows),r,R,我正试图以向量的形式读取R中的剪贴板。我有一个向量格式的数字列表,我以前尝试过复制和粘贴值,但在4000个数字之后R停止 # 1,2,3,4,5,6,7,8 <--example of what's on clipboard vector<-c(1,2,3,4,5,6,7,8) vector[5] #[1] 5 #1,2,3,4,5,6,7,8使用clipr软件包 > # clipboard: 1,2,3,4,5,6,7,8 > library(clipr) &
# 1,2,3,4,5,6,7,8 <--example of what's on clipboard
vector<-c(1,2,3,4,5,6,7,8)
vector[5]
#[1] 5
#1,2,3,4,5,6,7,8使用clipr
软件包
> # clipboard: 1,2,3,4,5,6,7,8
> library(clipr)
> read_clip_tbl(sep=",", header=FALSE)
V1 V2 V3 V4 V5 V6 V7 V8
1 1 2 3 4 5 6 7 8
此输出是一个数据帧,但现在只需获取其第一行:
tbl <- read_clip_tbl(sep=",", header=FALSE)
unlist(tbl[1,])
如果您不需要这些名称:
> unname(unlist(tbl[1,]))
[1] 1 2 3 4 5 6 7 8
编辑
事实上,您不需要clipr
。你可以做:
> read.table(file="clipboard", sep=",")
V1 V2 V3 V4 V5 V6 V7 V8
1 1 2 3 4 5 6 7 8
使用clipr
软件包
> # clipboard: 1,2,3,4,5,6,7,8
> library(clipr)
> read_clip_tbl(sep=",", header=FALSE)
V1 V2 V3 V4 V5 V6 V7 V8
1 1 2 3 4 5 6 7 8
此输出是一个数据帧,但现在只需获取其第一行:
tbl <- read_clip_tbl(sep=",", header=FALSE)
unlist(tbl[1,])
如果您不需要这些名称:
> unname(unlist(tbl[1,]))
[1] 1 2 3 4 5 6 7 8
编辑
事实上,您不需要clipr
。你可以做:
> read.table(file="clipboard", sep=",")
V1 V2 V3 V4 V5 V6 V7 V8
1 1 2 3 4 5 6 7 8
我的用例通常在Excel和R之间工作,在这种情况下@Stéphanelant的答案是有效的。(事实上,我倾向于使用read.table(file='clipboard',header=F)
(或=F
)而不是readClipboard()
),因为它在几乎所有情况下对我都很有效
但是,如果您的字符串是非表格式的,如在文字逗号分隔的字符串中,您可以使用以下方法拆分它:
# clipboard: 1,2,3,4,5,6,7,8
s <- strsplit(readClipboard(), ",")
str(s)
# List of 1
# $ : chr [1:8] "1" "2" "3" "4" ...
然后
如果条目数始终相同(即CSV),例如一行
1,2,3,4,5
与
和多行,例如
1,2,3,4,5
11,12,13,14,15
进入
从这里开始,它可以是unlist
ed、as.matrix
ed,或者你想要的任何东西,尽管unlist
将按列而不是按行进行。我的用例通常在Excel和R之间工作,在这种情况下@Stéphanelant的答案是有效的。(事实上,我倾向于使用read.table(file='clipboard',header=F)
(或=F
)而不是readClipboard()
,因为它在几乎所有情况下对我都很有效
但是,如果您的字符串是非表格式的,如在文字逗号分隔的字符串中,您可以使用以下方法拆分它:
# clipboard: 1,2,3,4,5,6,7,8
s <- strsplit(readClipboard(), ",")
str(s)
# List of 1
# $ : chr [1:8] "1" "2" "3" "4" ...
然后
如果条目数始终相同(即CSV),例如一行
1,2,3,4,5
与
和多行,例如
1,2,3,4,5
11,12,13,14,15
进入
从这里开始,它可以是unlist
ed、as.matrix
ed,或者任何你想要的,尽管unlist
将按列而不是按行执行。你注意到readClipboard()
返回一个包含所有内容的字符串吗?你可能需要strsplit(readClipboard(),“,”)
,或者在结果向量上使用作为.numeric
或作为.integer
。您可能会发现clipr
包很有用,尤其是read\u clip\u tbl
。哎呀,太棒了。@dash2read.table(file=“clipboard”)
实际上就足够了。您注意到readClipboard()
正在返回一个包含所有内容的字符串?您可能需要strsplit(readClipboard(),“,”
,或者在结果向量上使用as.numeric
或as.integer
。您可能会发现clipr
包很有帮助,尤其是read\u clip\u tbl
。哎哟-太棒了。@dash2read.table(文件=“剪贴板”)
实际上已经足够了。