如何将 dput() 的输出分配给对象或在每个单词后插入双引号和逗号?
How to assign the output of dput() into an object or insert the double quote and then comma after every words?
我有一个这样的数据框:
x <- data.table(c('ACCN-NJ-A55O-01A-11D-A25L-08','ACCN-NJ-A55O-11D-11D-A25L-08', 'ACCN-05-4249-01A-01D-1105-08', 'ACCN-S2-AA1A-15C-12D-A397-08'))
现在我想把每一个字都放在双引号里面,然后放一个逗号。我尝试了 dput、cat、paste 等,但它们 return 打印而不是分配给对象。我需要将它分配给一个对象以将其复制到剪贴板。我试过 dput 和 dget
dput( x$V1, "names")
xx <- dget("names")
xxxx <- cat(paste0('"', paste(xx, collapse="\", \""), '"'))
它return 预期的输出像
"ACCN-NJ-A55O-01A-11D-A25L-08", "ACCN-NJ-A55O-11D-11D-A25L-08", "ACCN-05-4249-01A-01D-1105-08", "ACCN-S2-AA1A-15C-12D-A397-08"
但我想将它分配给一个对象。
任何帮助,将不胜感激。提前致谢
write.table 到剪贴板有效。
write.table(t(as.vector(x)), "clipboard", row.names = FALSE, col.names = FALSE, sep = ",")
然后 ctrl+V 到脚本 returns
"ACCN-NJ-A55O-01A-11D-A25L-08","ACCN-NJ-A55O-11D-11D-A25L-08","ACCN-05-4249-01A-01D-1105-08","ACCN-S2-AA1A-15C-12D-A397-08"
我不确定这是不是你想要的。
你可以使用-
val <- sprintf('"%s"', x$V1)
val
#[1] "\"ACCN-NJ-A55O-01A-11D-A25L-08\"" "\"ACCN-NJ-A55O-11D-11D-A25L-08\""
#[3] "\"ACCN-05-4249-01A-01D-1105-08\"" "\"ACCN-S2-AA1A-15C-12D-A397-08\""
请注意,R 转义 "
因此您会看到带反斜杠的引号。可以看到“真实”字符串 cat
.
cat(val)
"ACCN-NJ-A55O-01A-11D-A25L-08" "ACCN-NJ-A55O-11D-11D-A25L-08"
"ACCN-05-4249-01A-01D-1105-08" "ACCN-S2-AA1A-15C-12D-A397-08"
如果您希望输出的长度为一个逗号分隔的字符串,请使用 toString(val)
.
我有一个这样的数据框:
x <- data.table(c('ACCN-NJ-A55O-01A-11D-A25L-08','ACCN-NJ-A55O-11D-11D-A25L-08', 'ACCN-05-4249-01A-01D-1105-08', 'ACCN-S2-AA1A-15C-12D-A397-08'))
现在我想把每一个字都放在双引号里面,然后放一个逗号。我尝试了 dput、cat、paste 等,但它们 return 打印而不是分配给对象。我需要将它分配给一个对象以将其复制到剪贴板。我试过 dput 和 dget
dput( x$V1, "names")
xx <- dget("names")
xxxx <- cat(paste0('"', paste(xx, collapse="\", \""), '"'))
它return 预期的输出像
"ACCN-NJ-A55O-01A-11D-A25L-08", "ACCN-NJ-A55O-11D-11D-A25L-08", "ACCN-05-4249-01A-01D-1105-08", "ACCN-S2-AA1A-15C-12D-A397-08"
但我想将它分配给一个对象。 任何帮助,将不胜感激。提前致谢
write.table 到剪贴板有效。
write.table(t(as.vector(x)), "clipboard", row.names = FALSE, col.names = FALSE, sep = ",")
然后 ctrl+V 到脚本 returns
"ACCN-NJ-A55O-01A-11D-A25L-08","ACCN-NJ-A55O-11D-11D-A25L-08","ACCN-05-4249-01A-01D-1105-08","ACCN-S2-AA1A-15C-12D-A397-08"
我不确定这是不是你想要的。
你可以使用-
val <- sprintf('"%s"', x$V1)
val
#[1] "\"ACCN-NJ-A55O-01A-11D-A25L-08\"" "\"ACCN-NJ-A55O-11D-11D-A25L-08\""
#[3] "\"ACCN-05-4249-01A-01D-1105-08\"" "\"ACCN-S2-AA1A-15C-12D-A397-08\""
请注意,R 转义 "
因此您会看到带反斜杠的引号。可以看到“真实”字符串 cat
.
cat(val)
"ACCN-NJ-A55O-01A-11D-A25L-08" "ACCN-NJ-A55O-11D-11D-A25L-08"
"ACCN-05-4249-01A-01D-1105-08" "ACCN-S2-AA1A-15C-12D-A397-08"
如果您希望输出的长度为一个逗号分隔的字符串,请使用 toString(val)
.