r - 用 R 中的单词重新组织向量
问题描述
这是我的向量:
myvector<-c("yes","yes","no","yes","yes","yes","No","No","No","yes","yes","No","No","No","yes","No","No","No","yes","yes")
我需要执行以下操作:
如果它重复出现“no”这个词,它会删除第一个词并用“yes”替换其他词。他倒着做。如果“不”这个词只出现一次,它什么也不做。
最终的向量应该是这样的:
myfinalvector<-c("yes","yes","no","yes","yes","yes","yes","yes","No","yes","yes","yes","yes","No","yes","yes","yes","No","yes","yes")
有帮助吗?
解决方案
您可以diff
在将rev
erted 向量强制为factor
. "No"
s where0
和"No"
同时发生需要替换为"yes"
。
d <- data.frame(x=c(NA, diff(as.numeric(factor(rev(myvector))))), y=rev(myvector))
d$y[d$y == "No" & d$x == 0] <- "yes"
as.character(rev(d$y))
# [1] "yes" "yes" "no" "yes" "yes" "yes" "yes" "yes" "No" "yes" "yes" "yes"
# [13] "yes" "No" "yes" "yes" "yes" "No" "yes" "yes"
推荐阅读
- php - 记录保存到laravel中的数据透视表的测试失败
- powerbi - 在 Power BI 中查询导入的数据
- apache-zookeeper - 直到 Zookeeper 假定集群中的节点死亡的时间
- c# - 当一个物体穿过另一个物体时如何发出声音?
- javascript - 反应本机路由器不起作用
- r - 在 `ggplot` 中使用 `facet_wrap()` 时获得不同的结果
- java - 为什么 apache spark 不适用于 java 10?我们得到非法反射然后 java.lang.IllegalArgumentException
- tensorflow-estimator - 如何使用 export_savedmodel 保存和恢复 tf.estimator.Estimator 模型?
- r - 如何在 R 中的多个数据集上重复相同的选择函数,然后将它们除以行数
- c-preprocessor - #use 指令在旧版 VC6 C 代码中的含义