返回基于其名称的向量的特定元素的数量

时间:2017-08-20 10:59:19

标签: r excel

我需要根据向量元素名称返回向量中的元素数。让我们说我有字母矢量:

myLetters=letters[1:26]
> myLetters
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"

我打算做的是创建/查找函数,例如在调用时返回元素的数量:

myFunction(myLetters["b"])
[1] 2

myFunction(myLetters["z"])
[1]26

总之,我需要一种方法来通过写一个列的字母(A,B,C后来甚至AA或更远)来引用excel列并获得数字。

2 个答案:

答案 0 :(得分:1)

如果要引用excel列名,可以创建一个包含所有可能的excel列名的引用向量:

eg1 <- expand.grid(LETTERS, LETTERS)
eg2 <- expand.grid(LETTERS, LETTERS, LETTERS)
excelcols <- c(LETTERS, paste0(eg1[[2]], eg1[[1]]), paste0(paste0(eg2[[3]], eg2[[2]], eg2[[1]])))

之后您可以使用which

> which(excelcols == 'A')
[1] 1
> which(excelcols == 'AB')
[1] 28
> which(excelcols == 'ABC')
[1] 731

答案 1 :(得分:0)

如果您需要查找特定字母出现的次数,则以下内容应该有效:

myLetters = c("a","a", "b")

myFunction = function(myLetters, findLetter){
  length(which(myLetters==findLetter))
}

让我们在 myLetters 中找到&#34; a&#34; 的次数:

myFunction(myLetters, "a")
# [1] 2