関数内でデータフレームを正しく操作することができません。私は適切にインデックスを作成していないことを知っているが、私はそれを修正する方法を見つけることができません。関数内でデータフレームのインデックスを作成する問題
私は同じように、私のデータフレームに因子のレベルを変更したい:
data <- data.frame(X1=c("a","b","c"))
levels(data$X1) <- c("x","y","z")
しかし、私は私の機能の同じ内部を行うように見えることはできません。
> ex <- function(input,var){
+ levels(input$var) <- c("x","y","z")
+ return(var)
+ }
> test <- ex(data,"X1")
Error in levels(input$var) <- c("x", "y", "z") :
attempt to set an attribute on NULL
> ex2 <- function(input,var){
+ levels(input[,var]) <- c("x","y","z")
+ return(var)
+ }
> test2 <- ex2(data,"X1")
> test2
[1] "X1"
私はvar
を出力するかどうかは実際には気にしません。データフレームとカラムを適切に参照する方法を知りたいので、関数内でそれらを操作できます。
'try ex < - function(input、var){}' – lmkirvan
これは何を解決しますか? – ZachTurn
申し訳ありませんが、私はコメントを編集するのを待ってから変更できませんでした。私はあなたの関数から正しい項目を返さなかったことを指摘するつもりでした。 – lmkirvan