【发布时间】:2021-09-27 06:24:05
【问题描述】:
我安装了beepr 库,只有在满足条件时才需要运行beep(),例如:
library(beepr)
test=data.frame(a=1,b=2)
ifelse(test$b==2,beep(1),beep(2))
rep 中的错误(是,length.out = len): 尝试复制“externalptr”类型的对象
【问题讨论】:
标签: r
我安装了beepr 库,只有在满足条件时才需要运行beep(),例如:
library(beepr)
test=data.frame(a=1,b=2)
ifelse(test$b==2,beep(1),beep(2))
rep 中的错误(是,length.out = len): 尝试复制“externalptr”类型的对象
【问题讨论】:
标签: r
当使用ifelse 时会产生声音和错误。 ifelse 的问题在于它返回的数据类型与 test 值相同。
来自?ifelse -
与测试具有相同长度和属性(包括维度和“类”)的向量。
由于beep 返回的输出与test 不同,因此会返回错误。
使用if/else -
library(beepr)
test=data.frame(a=1,b=2)
if(test$b==2) beep(1) else beep(2)
【讨论】:
ifelse这里不好,它修改了每个值,但需要保持相同的数据类型。
那里使用ifelse:
if(2 %in% test$b) beep(1) else beep(2)
我使用了in,因为您可能在这里需要in。
【讨论】: