计算不同因子水平的观察量

时间:2020-10-07 15:07:06

标签: r if-statement counting

我正在处理视频游戏数据集,并且想要一个可变列来计算为每个平台生产的游戏数量。我按年份订购,因此理想情况下,它将是每个平台的累计总超时时间。这是我尝试但无法使用的功能。

counting  <- function(w) {
 i = 0
 j = 0
 k = 0
 l = 0
 m = 0
for (val in w) {
 if(val == "PC"){
  i = i+1
  i
 } else if (val == "Xbox"){
  j = j+1
  j
 }else if (val == "Nintendo"){
  k = k+1
  k
 } else if (val == "Playstation"){
  l = l+1
  l
} else if (val == "Others"){
  m = m+1
  m
 }
 }
}
my_vector2 <- sapply(data$Platform.type, counting)

我的数据的一个例子是

structure(list(Rank = c(5337, 7969, 8513, 8559, 15641, 18600), 
Genre = c("Role-Playing", "Adventure", "Action", "Role-Playing", 
"Misc", "Racing"), Platform = structure(c(48L, 56L, 1L, 56L, 
53L, 48L), .Label = c("2600", "3DO", "3DS", "5200", "7800", 
"Aco", "ACPC", "AJ", "Amig", "And", "ApII", "Arc", "AST", 
"BBCM", "BRW", "C128", "C64", "CD32", "CDi", "DC", "DS", 
"DSi", "DSiW", "FMT", "GB", "GBA", "GBC", "GC", "GEN", "GG", 
"GIZ", "Int", "iOS", "iQue", "Linux", "Lynx", "Mob", "MS", 
"MSD", "MSX", "N64", "NES", "NG", "NGage", "NS", "OSX", "Ouya", 
"PC", "PCE", "PCFX", "PS", "PS2", "PS3", "PS4", "PSN", "PSP", 
"PSV", "S32X", "SAT", "SCD", "SNES", "TG16", "VB", "VC", 
"Wii", "WiiU", "WinP", "WS", "WW", "X360", "XB", "XBL", "XOne", 
"ZXS"), class = "factor"), Platform.type = c("PC", "Playstation", 
"Others", "Playstation", "Playstation", "PC")), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))

对于前6行,我希望我的计数函数返回

(1、1、1、2、3、2 ...)。

有人有什么建议吗?我得到的只是一个很长的null向量。

0 个答案:

没有答案