Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据R中另一个变量的频率计算一个变量的百分比_R_Frequency_Percentage - Fatal编程技术网

如何根据R中另一个变量的频率计算一个变量的百分比

如何根据R中另一个变量的频率计算一个变量的百分比,r,frequency,percentage,R,Frequency,Percentage,我不确定如何写出来,但我会展示我想要的代码。我试图确定某些人在一项任务中的准确性,这项任务是在多次事件中进行的,然而,有大量的案例 names <- c("James", "James", "James", "James", "James", "John", "John", "Fred") outcome <- c("

我不确定如何写出来,但我会展示我想要的代码。我试图确定某些人在一项任务中的准确性,这项任务是在多次事件中进行的,然而,有大量的案例

names <- c("James", "James", "James", "James", "James", "John", "John", "Fred")
outcome <- c("successful", "unsuccessful", "unsuccessful", "successful", "successful", "successful",
         "unsuccessful", "unsuccessful")
accuracy <- c("60%", "60%", "60%", "60%", "60%", "50%", "50%", "0%")
df <- data.frame(names, outcome, accuracy)

名称使用
ave

df$accuracy <- NULL

df <- transform(df, accuracy=ave(outcome %in% "successful", names, 
                                 FUN=function(x) paste0(sum(x)/length(x)*100, "%")))
df
#   names      outcome accuracy
# 1 James   successful      60%
# 2 James unsuccessful      60%
# 3 James unsuccessful      60%
# 4 James   successful      60%
# 5 James   successful      60%
# 6  John   successful      50%
# 7  John unsuccessful      50%
# 8  Fred unsuccessful       0%
df$accurity这行吗

> df %>% group_by(names) %>% mutate(accuracy = paste0(100 * sum(outcome == 'successful')/n(),'%'))
# A tibble: 8 x 3
# Groups:   names [3]
  names outcome      accuracy
  <chr> <chr>        <chr>   
1 James successful   60%     
2 James unsuccessful 60%     
3 James unsuccessful 60%     
4 James successful   60%     
5 James successful   60%     
6 John  successful   50%     
7 John  unsuccessful 50%     
8 Fred  unsuccessful 0%      
>df%>%groupby(name)%>%mutate(准确度=paste0(100*sum(结果='successful')/n(),'%'))
#一个tibble:8x3
#组:名称[3]
命名结果准确性
1成功率60%
2.60%
3.60%
4成功率60%
5.成功率60%
6约翰成功50%
7.50%
8.0%

您能否澄清成功/失败结果的频率是什么意思?以詹姆斯为例,它会是3/5吗?因为它有三个“成功”和两个“失败”?如果是,您是否希望打印成功任务的准确性?