我需要根据向量元素名称返回向量中的元素数。让我们说我有字母矢量:
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列并获得数字。
答案 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