标签: paste

抑制粘贴中的NA()

关于赏金

Ben Bolkerpaste2解决方案产生了一个""粘贴的字符串包含NA在同一位置的时间.像这样,

> paste2(c("a","b", "c", NA), c("A","B", NA, NA))
[1] "a, A" "b, B" "c"    ""
Run Code Online (Sandbox Code Playgroud)

第四个元素是一个""而不是NA像这样,

[1] "a, A" "b, B" "c"  NA     
Run Code Online (Sandbox Code Playgroud)

我正在为能解决这个问题的人提供这笔小额奖金.

原始问题

我已经阅读了帮助页面?paste,但我不明白如何让R忽略NAs.我做了以下,

foo <- LETTERS[1:4]
foo[4] <- NA
foo
[1] "A" "B" "C" NA
paste(1:4, foo, sep = ", ")
Run Code Online (Sandbox Code Playgroud)

得到

[1] "1, A"  "2, B"  "3, C"  "4, NA"
Run Code Online (Sandbox Code Playgroud)

我想得到什么,

[1] "1, A" "2, B" "3, C" "4" …
Run Code Online (Sandbox Code Playgroud)

r paste na

32
推荐指数
7
解决办法
3万
查看次数

连接数据帧的行

我想采用带有字符和数字的数据框,并将每行的所有元素连接成一个字符串,该字符串将作为单个元素存储在向量中.作为一个例子,我创建一个字母和数字的数据框,然后我想通过粘贴函数连接第一行,并希望返回值"A1"

df <- data.frame(letters = LETTERS[1:5], numbers = 1:5)
df

##   letters numbers
## 1       A       1
## 2       B       2
## 3       C       3
## 4       D       4
## 5       E       5

paste(df[1,], sep =".")
## [1] "1" "1"
Run Code Online (Sandbox Code Playgroud)

因此,粘贴将行的每个元素转换为一个整数,该整数对应于"相应级别的索引",就像它是一个因子一样,并且它保持长度为2的向量.(我知道/相信被强制为字符的因素会以这种方式运行,但由于R根本没有存储df [1,]作为因素(由is.factor()测试,我无法验证它实际上是一个级别的索引)

is.factor(df[1,])
## [1] FALSE
is.vector(df[1,])
## [1] FALSE
Run Code Online (Sandbox Code Playgroud)

因此,如果它不是一个向量,那么它的行为很奇怪,但我无法将它强制转换为向量

> is.vector(as.vector(df[1,]))
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

使用as.character似乎对我的尝试没有帮助

谁能解释这种行为?

r vector concatenation paste r-factor

31
推荐指数
2
解决办法
7万
查看次数

如何粘贴点击?它适用于谷歌文档

我希望能够在用户点击时启动真正的粘贴事件.我可以理解这可能是一个安全问题,因为如果任何网页有权访问用户剪贴板,那就不好了.所以我认为所有浏览器都不允许访问剪贴板数据.

但是例如在谷歌文档(在类似文字的应用程序中),我可以从自定义上下文菜单粘贴(鼠标右键单击假装为上下文菜单的html元素),即使剪贴板数据已被复制到剪贴板中应用程序,如Microsoft Paint.这适用于Google Chrome浏览器,这是我感兴趣的浏览器.

我认为他们使用闪光灯,但即使我完全禁用闪光灯,它仍然有效.关于这个问题已经有了问题,但提到的答案并不正确.该问题的另一个答案表明谷歌正在使用Chrome扩展程序,但即使我禁用了Chrome中的所有扩展程序,它仍然有效.

如何在Windows中重现:

  • 在Chrome中禁用闪存,禁用所有扩展名
  • 重新开始
  • 转到谷歌文档并打开新的空写作文档(文档,而不是电子表格)
  • 在Windows中运行microsoft paint应用程序
  • 在microsoft paint中绘制一些东西,按Ctrl + A选择全部,按Ctrl + C进行复制
  • 切换回chrome到docs空白页面,然后右键单击空白页面
  • 选择人工上下文菜单粘贴(注意上下文菜单中是不是从Windows本机菜单,但它来自谷歌文档的Html网页)
  • 您将看到剪贴板图像已粘贴到docs文档(!)
  • 他们如何做到这一点?

如果用户在我的网页上按下Ctrl + V,我知道如何访问剪贴板数据,因为这会在当前窗口中触发粘贴事件.但是,如何在用户只需单击按钮或div时,在javascript(或使用jquery)中访问剪贴板数据启动实际剪贴板数据(例如,在mspaint中复制的位图)的粘贴

javascript clipboard jquery paste

30
推荐指数
2
解决办法
7638
查看次数

jquery如何获取粘贴的内容

我在输入中捕获粘贴文本时遇到一些麻烦:

 <input type="text" id="myid" val="default">
 $('#myid').on('paste',function(){
        console.log($('#myid').val());
 });  
Run Code Online (Sandbox Code Playgroud)

console.log显示:

default
Run Code Online (Sandbox Code Playgroud)

我如何catch粘贴文本并准备使用?

jquery paste

29
推荐指数
2
解决办法
4万
查看次数

连接字符串中的数值

我想将此输出存储在一个字符串中:

> x=1:5
> cat("hi",x)
hi 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

所以我用paste,但我得到了这个不同的结果:

> paste("hi",x)
[1] "hi 1" "hi 2" "hi 3" "hi 4" "hi 5"
Run Code Online (Sandbox Code Playgroud)

知道如何获取字符串:

"hi 1 2 3 4 5"
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

string r concatenation paste cat

29
推荐指数
3
解决办法
6万
查看次数

如何使用C#将CSV数据粘贴到Windows剪贴板

我正在努力实现的目标

  • 我的应用程序生成一些表格数据
  • 我希望用户能够启动Excel并单击"粘贴"以将数据作为单元格放在Excel中
  • Windows接受一种名为"CommaSeparatedValue"的格式,该格式与其API一起使用,因此这似乎是可行的
  • 将原始文本放在剪贴板上可以正常工作,但尝试使用此格式则不行
  • 注意:我可以从剪贴板中正确检索CSV数据,我的问题是将CSV数据粘贴到剪贴板.

我试过的是没有用的

Clipboard.SetText()

System.Windows.Forms.Clipboard.SetText(  
  "1,2,3,4\n5,6,7,8", 
  System.Windows.Forms.TextDataFormat.CommaSeparatedValue
  );
Run Code Online (Sandbox Code Playgroud)

Clipboard.SetData()

System.Windows.Forms.Clipboard.SetData(
  System.Windows.Forms.DataFormats.CommaSeparatedValue,
  "1,2,3,4\n5,6,7,8", 
  );
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都会在剪贴板上放置一些内容,但是当粘贴到Excel中时,它会显示为一个加载文本的单元格:" - §žý; pC |yVk²û"

更新1:使用SetText()的变通方法

正如BFree的答案所示,SetTextTextDataFormat一起作为一种解决方法

System.Windows.Forms.Clipboard.SetText(  
  "1\t2\t3\t4\n5\t6\t7\t8", 
  System.Windows.Forms.TextDataFormat.Text
  );
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这一点,并确认现在粘贴到Excel和Word正常工作.在每种情况下,它都会粘贴为带有单元格而不是纯文本的表格.

仍然好奇,为什么CommaSeparatedValue是工作的.

c# windows csv clipboard paste

28
推荐指数
2
解决办法
2万
查看次数

等效的粘贴R到Python

我是一个新的python afficionado.对于R用户,有一个功能:粘贴有助于连接数据框中的两个或多个变量.这非常有用.例如,假设我有这个数据帧:

   categorie titre tarifMin  lieu  long   lat   img dateSortie
1      zoo,  Aquar      0.0 Aquar 2.385 48.89 ilo,0           
2      zoo,  Aquar      4.5 Aquar 2.408 48.83 ilo,0           
6      lieu  Jardi      0.0 Jardi 2.320 48.86 ilo,0           
7      lieu  Bois       0.0 Bois  2.455 48.82 ilo,0           
13     espac Canal      0.0 Canal 2.366 48.87 ilo,0           
14     espac Canal     -1.0 Canal 2.384 48.89 ilo,0           
15     parc  Le Ma     20.0 Le Ma 2.353 48.87 ilo,0 
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列,它使用数据框中的另一列和一些文本.用R,我做:

> y$thecolThatIWant=ifelse(y$tarifMin!=-1,
+                             paste("Evenement permanent  -->",y$categorie,
+                                   y$titre,"C  partir de",y$tarifMin,"€uros"),
+ …
Run Code Online (Sandbox Code Playgroud)

python r paste pandas

27
推荐指数
4
解决办法
2万
查看次数

跨数据帧的特定列逐行连接

我有一个带有列的数据框,当作为字符串连接(行方式)时,将允许我将数据框分区为所需的形式.

> str(data)
'data.frame':   680420 obs. of  10 variables:
 $ A              : chr  "2011-01-26" "2011-01-26" "2011-02-09" "2011-02-09" ...
 $ B              : chr  "2011-01-26" "2011-01-27" "2011-02-09" "2011-02-10" ...
 $ C              : chr  "2011-01-26" "2011-01-26" "2011-02-09" "2011-02-09" ...
 $ D              : chr  "AAA" "AAA" "BCB" "CCC" ...
 $ E              : chr  "A00001" "A00002" "B00002" "B00001" ...
 $ F              : int  9 9 37 37 37 37 191 191 191 191 ...
 $ G              : int  NA NA NA NA NA NA NA …
Run Code Online (Sandbox Code Playgroud)

r string-concatenation paste apply sapply

26
推荐指数
3
解决办法
5万
查看次数

在Vim中粘贴多次

这可能非常简单,但我尝试搜索,我最终得到的东西,如复制多行,剪切和粘贴多行等.我正在寻找的是在Vim中多次粘贴一行.

例如.复制一行'X',我想单独粘贴这一行30次,因此我将有30'X'行.是否可以在Vim中使用单个命令?请帮我.

注意:粘贴的单个命令.该行的副本可以通过'y'完成.粘贴30次左右,我需要一个命令.请帮帮我.

vim copy-paste paste

26
推荐指数
2
解决办法
3万
查看次数

粘贴到我的iterm2终端时获取奇怪的字符

我在Mac Sierra上使用iterm2 v 3.0.15.我无法从其他地方剪切和粘贴(例如网页上的文字)到我的终端.例如,我从网页突出显示一些文本,按Command + C,转到终端,然后按Command + V,我得到

localhost:myproject nataliab$ 00~on the next01~
Run Code Online (Sandbox Code Playgroud)

注意我文本前后的"00~"和"01~".当我剪切并粘贴到文本编辑器或其他地方时,我看不到这些字符.当我剪切并粘贴到我的iterm2终端时,如何消除这些特殊字符的出现?

copy-paste paste iterm2

25
推荐指数
7
解决办法
8448
查看次数