R,检查向量的类

时间:2014-02-02 13:40:23

标签: r

我是R的新手,我正在努力完成以下任务:

对于第2列中的每个唯一值,确定第1列中相应值的等于e的比例。例如,x是第2列中的唯一值,显示10次。在10次出现中,有6个,其中第1列中的对应值为e,因此x返回的值应为0.6。接下来,代码应该检查bs,然后f等。

Col 1  Col 2  
p   x  
e   x  
e   b  
p   x  
e   x  
e   x  
e   b  
e   b  
p   x  
e   b  
e   x  
e   x  
e   b  
p   x  
e   x  
e   s  
e   f  

我的尝试如下:

# figure out how many unique values there are in column 2
n_unique <- 1:(nunique (data[,2]))

# Assign the unique values to a vector, and then run my desired calculation
my_calc <- function(x){

unique_val <- data[,2]

if(data[,2] = unique_val[x]){
    result <- ("count occurrences of e"/"total occurrences")
} else {
return (NA)
}

# loop "my_calc" for each unique value in column 2
sapply(n_unique, my_calc)

1 个答案:

答案 0 :(得分:0)

我想您要计算列中所有唯一值组合的比例。您可以使用tableprop.table

prop.table(table(dat), 2)

    Col2
Col1   b   f   s   x
   e 1.0 1.0 1.0 0.6
   p 0.0 0.0 0.0 0.4

其中dat是数据框的名称。在结果的每一列中,值总和为一。