1

今日、最後の R 学習演習を終わらせようとしましたが、失敗しました。私の学者の正確な指示を示すことは許可されていませんが、情報提供後に得た警告については助けていただけます. 彼らはどういう意味ですか?何が合わないの?この質問は非常に漠然としていますが、これが唯一の質問方法です。「Aufgabe 3」と「Aufgabe 4」のことだと思います

これは私の入力です:

x <- read.csv ("http://hci.stanford.edu/jheer/workshop/data/worldbank/worldbank.csv")
y <- (colnames (x) <- (c ("Country", "Year", "co2", "power","energy", "fertility", "gni", "internet", "life.expectancy","military", "population", "hiv.prevalence")))
y

####Aufgabe 1####

f1 <- min(x$fertility, na.rm=TRUE)
f1

####Aufgabe 2####

f2 <- max (subset(x, Country=="Australia" | Country=="Belarus" | Country=="Germany", select=fertility), na.rm=TRUE)
f2


####Aufgabe 3####

q1 <- quantile (subset(x, Year==2005, select=military), probs=c(.25), na.rm=TRUE)
q1

####Aufgabe 4####

q2 <- quantile (subset(x, Year==2001, select=population), probs=c(.05), na.rm=TRUE)
q2


####Aufgabe 4####
n <- length(which (is.na (subset (x, Year==2000, select=military))))
n

####Aufgabe 5####


library(psych)

mil<- skew (x$military)
coun<- skew(x$Country)
Ye<- skew(x$Year)
co<- skew(x$co2)
po<- skew(x$power)
en<- skew(x$energy)
fer<- skew(x$fertility)
gni<- skew(x$gni)
inertnet<- skew(x$internet)
life<- skew(x$life.expectancy)
pop<- skew(x$population)
hiv<- skew(x$hiv.prevalence)

mil
coun
Ye
co
po
en
fer
gni
inertnet
life
pop
hiv

ku1<- "co2"
ku1

...そして、ソースの後に表示されるこれらの警告:

1. In var(as.vector(x), na.rm = na.rm : Na generated through conversion
2. n mean.default(x) : argument is not numeric or logical: returning NA
3. 3: In Ops.factor(x, mx) : - not meaningful for factors
4. In var(as.vector(x), na.rm =na.rm) : Na generated through conversion 
4

1 に答える 1

4
  1. これらのコンポーネントの変換が定義されていないため、as.vector(x)操作の結果、1 つ以上の要素xが変換されたことを意味します。NA
  2. mean.defaultが呼び出されたときx、数値でも論理でもないため、関数はデータに対して何もできません
  3. xまたはmxその両方が因子であり、-(および他の数学演算子) が因子オブジェクトに対して定義されていないことを意味します。
  4. 上記の 1. を参照してください。

すべて入力データの問題を示しており、通常は要因が作成されています。

警告は次の行から発生します。

> coun <- skew(x$Country)
Warning messages:
1: In var(as.vector(x), na.rm = na.rm) : NAs introduced by coercion
2: In mean.default(x) : argument is not numeric or logical: returning NA
3: In Ops.factor(x, mx) : - not meaningful for factors
4: In var(as.vector(x), na.rm = na.rm) : NAs introduced by coercion

これはx$Country次の要因によるものです。

> str(x)
'data.frame':   1362 obs. of  12 variables:
 $ Country        : Factor w/ 227 levels "","Afghanistan",..: 19 19 19 19 19 19 166 166 166 166 ...
....

これを文字にしたとしても、この変数の歪度を計算できます。この行をコメントアウトするだけです。

于 2012-12-22T11:22:29.227 に答える