我必须将字符串上的每个元音改为大写或小写,取决于它已经是什么..所以"大写小写"变成"uPPeRCaSe lOwErcAsE"
到目前为止,我对这种方法没有成功
str= 'UPPERCASE lowercase';
vow = 'aeiou';
vowm = 'AEIOU';
for k = 1:5
if str(str == vow(k))
str(str == vow(k))= vowm(k);
else
if str(str == vowm(k))
str(str == vowm(k))= vow(k);
Run Code Online (Sandbox Code Playgroud)
预期产出:"uPPeRCaSe lOwErcAsE"
实际输出:"uPPERCASE lOwErCAsE"
我对matlab非常新,我有点失落.我恭喜你的帮助
我想知道是否有一个函数可以让我在第一次出现元素时拆分列表,不包括该元素.基本上,假设:
listT= [1,3,2,5,6,3,2,6]
Run Code Online (Sandbox Code Playgroud)
那么我想定义(或者不是,如果它已经存在),一个函数splitAtFirst这样
splitAtFirst 2 listT = [[1,3],[5,6,3,2,6]]
Run Code Online (Sandbox Code Playgroud)
到目前为止我的尝试看起来像这样:
splitAtfirst::(Eq a)=> a->[a]->[[a]]
splitAtfirst _ []=[]
splitAtfirst a (x:xs)
|a==x = [xs]
|otherwise = [x]: splitAtfirst a (xs)
Run Code Online (Sandbox Code Playgroud)
但是,我明白了
>splitAtfirst 2 [1,3,2,5,6,3,2,6]
>[[1],[3],[5,6,3,2,6]]
Run Code Online (Sandbox Code Playgroud)
我知道问题发生的原因,但到目前为止我还没有找到一个好的解决方案
我感谢任何帮助!
编辑:这是一个辅助函数,只有在检查elem在列表中后才会被调用,因此在不存在时处理它并不是必需的.我感谢您的帮助
我有一个数据框,其中包含一个 State 列,其中包含所有州的值(“阿拉巴马州、阿拉斯加州等)
有没有一种快速的方法来选择前 10 个更频繁的状态,并用“其他”替换所有其他状态
我通过在州一级按频率进行总结来做到这一点,创建一个指标
mutate(bottom_40 = ifelse frequency < x, TRUE,FALSE),
Run Code Online (Sandbox Code Playgroud)
然后加入并使用逻辑将所有状态替换为“其他”的指示符。
这个解决方案很难看,如果有人能分享一种更干净的方法来做到这一点,我将不胜感激。
我的数据格式如下
-------------------------
| A | a | 1 |
-------------------------
| A | a | 2 |
-------------------------
| A | a | 3 |
-------------------------
| B | b | 1 |
-------------------------
| B | b | 3 |
-------------------------
| B | b | 5 |
-------------------------
Run Code Online (Sandbox Code Playgroud)
基本上,如果第一个键相同,则除最后一列之外的所有列都相同。我想让数据框更加紧凑,而不是最后一列的每个实例一个观察,我有一个数字列表
像这样的东西:
-------------------------
| A | a | 1,2,3 |
-------------------------
| B | b | 1,3,5 |
-------------------------
Run Code Online (Sandbox Code Playgroud)
我正在学习 R 中的 tidyverse,但我很新,我还没有找到合适的函数来执行此操作。我很感激任何意见。