をマトリクスに強要することなく、
sapply(a,funNum)
a
の列の上にこの意志ループを試してみてくださいNULLを返しますので、文字に数字の列に変換します
ええ、コメントの私の推測は正しいです:あなたは要因があります!
sapply(Glass, class)
# RI Na Mg Al Si K Ca Ba
# "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
# Fe Type
# "numeric" "factor"
あなたがapply()
を使用する場合、それが第1の行列にGlass
を強要されます。ベクトルのような行列は、1種類のデータしか保持できません。さて、あなたのデータフレームは数値と因子の両方を持っています。結果の行列は文字のみになります。 skewness()
は、この場合は何もしません。列のいずれも数字ではありません(したがって、NULL
が得られます)。
sapply()
またはlapply()
を使用すると、状況が異なります。これらの機能は、リスト/データフレームで機能するように設計されています。すべての数値列に対して有効な結果が得られます。
sapply()
またはlapply()
を使用するかどうかは、必要なものによって異なります。 sapply()
は可能な限りベクトル/行列を返し、lapply()
はリストを返します(デフォルト)。私は、skewness()
はスカラー結果しか返さないと考えたので、sapply()
を使用することをお勧めします。これによってベクトルが完成します。データフレームが必要な場合は、代わりにas.data.frame(lapply(Glass, skewness))
を使用してください。
「適用する(a、2、is.numeric)」とは何ですか? – Carl
'apply(a、2、is.numeric) RI Na Mg Al Si K Ca Baタイプ 偽偽偽偽偽偽偽[ – Apoorv
[最小](http://stackoverflow.com)を入力してください。/help/mcve)と[reproducible](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)の例です。これらのリンクの少なくとも1つをスキミングした後、使用されるサンプルデータとコード(スキューネスなど)を提供してください。コメントを追加するのではなく、あなたの質問を編集してください、ありがとう! – r2evans