私はいくつかの列がFactorsとして扱われ、他は列として扱われるR dataFrameを作成しようとしています。 データフレームに `stringsAsFactors`を混ぜてください
fruits <- data.frame(fruit = character(), descr = character())
fruits <- rbind(fruits, data.frame(fruit = "apple", descr = "jjrkgnser"))
fruits <- rbind(fruits, data.frame(fruit = "apple", descr = "aprtgh"))
fruits <- rbind(fruits, data.frame(fruit = "pear", descr = "akjreg"))
ここで、両方の列が要因として扱われ、そしてfruits
データフレームの行が存在するように私はdescr
列のような多くの要因になってしまいます。
descr
を文字列として扱うにはどうすればよいですか?fruit
を因子として使用しますか? stringsAsFactors = FALSE
を使用すると、すべての列に適用されます。
編集
私はそうエレガントではない、このソリューションをハッキング:
fruits <- data.frame(fruit = factor(), path = character(), stringsAsFactors = FALSE)
fruits <- rbind(fruits, data.frame(fruit = factor("apple"), path = "jjrkgnser", stringsAsFactors = FALSE))
fruits <- rbind(fruits, data.frame(fruit = factor("apple"), path = "aprtgh", stringsAsFactors = FALSE))
fruits <- rbind(fruits, data.frame(fruit = factor("pear"), path = "akjreg", stringsAsFactors = FALSE))
> str(fruits)
'data.frame': 3 obs. of 2 variables:
$ fruit: Factor w/ 2 levels "apple","pear": 1 1 2
$ path : chr "jjrkgnser" "aprtgh" "akjreg"
を行うと、要件に適合します。
が好きですか方法はありますか?
使用から
data_frame
を使用して、 '' as.factor'とas.character'に指示します。 – AntoniosKスクリプトの一部として 'rbind'を使用していますか?一度にデータセット全体を作成しないのはなぜですか? 'fruits < - data.frame(fruit = c(" apple "、" apple "、" pear ")、descr = I(c(" jjrkgnser "、" aprtgh "、" akjreg ")))のようなものです。あなたのコードは、あらかじめメモリを割り振らずにオブジェクトが成長しているので、複雑すぎて非効率です。 –
@AntoniosKあなたは答えとして投稿してもよろしいですか?私はどのように把握することはできません。 –