2017-11-01 9 views
-1

URLからcsvファイルを取得してクリーンアップしました。私は現在、ベクトルと数値の2つの入力を受け取り、ベクトルの数値がその数値より下にある割合を示す関数を作成しようとしています。ベクトルはdfStates $ jul2011になり、数字はdfStates $ jul2011の平均になります。誰もがこの機能を作成する正しい方向に私を指すことができますか?R平均より下のベクトルのパーセンテージを計算する関数

readStates <- read.csv(url("http://www2.census.gov/programs- 
surveys/popest/tables/2010-2011/state/totals/nst-est2011-01.csv")) #Assign 
readStates 

readStates[6:10] <- list(NULL) #Remove Variables x.4-x.8 

readStates <- readStates[-c(1, 2, 3, 4, 5, 6, 7, 8, 60, 61, 62, 63, 64, 65, 
66, 67),] #Remove Rows 

colnames(readStates)[1] <- "stateName"              
#Fix Column Name 
colnames(readStates)[2] <- "base2010"               
#Fix Column Name 
colnames(readStates)[3] <- "base2011"               
#Fix Column Name 
colnames(readStates)[4] <- "jul2010"               
#Fix Column Name 
colnames(readStates)[5] <- "jul2011"               
#Fix Column Name 

dfStates <- 
as.data.frame(sapply(readStates,gsub,pattern="\\.",replacement=""))    
#Remove Periods 

dfStates <- as.data.frame(sapply(dfStates,gsub,pattern=",",replacement=""))     
#Remove Commas 

dfStates$base2010 <- as.numeric(as.character(dfStates$base2010))        
#Set as Numeric 
dfStates$base2011 <- as.numeric(as.character(dfStates$base2011))        
#Set as Numeric 
dfStates$jul2010 <- as.numeric(as.character(dfStates$jul2010))        
#Set as Numeric 
dfStates$jul2011 <- as.numeric(as.character(dfStates$jul2011))        
#Set as Numeric 

答えて

0

HIあなたは

me<-mean(dfStates$jul2011) 

が続いて別のベクトルにこれを入れて、平均未満の値を計算し、値の数をカウントし、あなたのベクトルの平均取ることができます。次に単純にパーセンテージを計算します。

temp_vec<-dfStates$jul2011 
len<-length(temp_vec) 
temp_vec2<-temp_vec[temp_vec<me] 
len_temp_vec2<-length(temp_vec2) 
per<-(len_temp_vec2/len)*100 
per 
+0

ありがとう、本当にありがとうございます。 –

+0

他人を助けるための回答としてマークすることを忘れないでください –

関連する問題