r - 在 R 中创建一个仅将向量的前 n 个元素大写的函数
问题描述
我想创建一个函数 (v,n),其中 v 是字符串值的向量,n 是整数。此函数应仅将向量的前 n 个元素大写。如果 n 大于length(v)
,它应该大写向量中的所有元素。
因此,如果我有:v = c("a","b","c","d")
并且 n = 3,则该函数应返回:
[1] ("A", "B", "C", "d")
到目前为止,我有这个:
function(v, n){
if(n <= length(v))
{i = seq_len(n)
v[i]= toupper(v[i])}
return(v)}
但是当我尝试将其应用于向量时(使用 sapply):
test = sapply(v, function, n=3)
没发生什么事。向量中的所有元素都没有大写
解决方案
以下是如何在 R 中定义函数以及如何调用它。
my_toupper <- function(v, n){
if(n <= length(v)) {
i = seq_len(n)
v[i]= toupper(v[i])
}
return(v)
}
my_toupper(v = c("a","b","c","d"), n = 3)
上面的命令返回这个结果
[1] "A" "B" "C" "d"
推荐阅读
- typo3 - Typo3 流体模板 如何添加多个模板
- laravel - "No query results for model [App\Shop\Categories\Category] 1"
- html - How do I remove the space when hovering over a nav link?
- android - 2018/09/16 在 android 中使用 gsm:google 4.0.1 的`compile` 仍然存在问题
- java - How to combine two elements in the same arrays?
- variables - 八度:For-Loop 创建错误的变量
- android - Toolbar won't display as action bar in Android Studio
- python - 如何使用线程并行压缩迭代器?
- javascript - Use hover on div and mouseout at same time
- java - Spring Batch JpaItemWriter vs HibernateItemWriter 以及为什么在使用 HibernateItemWriter 时需要 HibernateTransactionManager