Error during wrapup: 置換は 0 列ですが、データは 133 列です　というエラーが解決できない


以下画像のようなcsvファイルからDendrite Length列とFilamentID列のデータを取り出すための関数を書いたのですが、  
[![画像の説明をここに入力](https://i.stack.imgur.com/9E2fp.png)](https://i.stack.imgur.com/9E2fp.png)

[code]

    DataandIdExtractionfromCSV <- function(path,sectionid,dataname) {
      
      df = read.csv(path, 
                         fileEncoding = "UTF-8-BOM",
                         stringsAsFactors=F,
                         na.strings="NULL",
      )
      
      df <- na.omit(df)
      # 0,1,2行目を削除
      df2<-df[c(-0,-1,-2),]
      
      
      # 最左列とFilamentIDのdatatypeを変換
      
      df2$dataname <- as.numeric(df2$dataname)
      df2$X.5 <- as.integer(df2$X.5)
      
      
      # Dendrite LengthとFilamentIDをtibble列として再定義、Header(名前)もつける
      tibbledataid = tibble(tibbledataid = df2$dataname)
      tibbledata = tibble(tibbledata = df2$X.5)
      
      # 2列を一つのtibble(行列)に統合
      df_tidy = bind_cols(tibbledataid,tibbledata)
      # 長さと対応するidだけ抽出した行列
      head(df_tidy)
      tidieddfname = paste(sectionid,"_tidy.csv", sep = "", collapse = NULL)
      write.csv(df_tidy, tidieddfname)
      
    }
    
[/code]

これを以下の様に実行すると

[code]

    DataandIdExtractionfromCSV("WT1 x20 ROI1 S ctx 06212021_Statistics/Dendrite_Length.csv","tesuto",Dendrite.Length)
    
[/code]

[code]

    Error during wrapup:  置換は 0 列ですが、データは 133 列です 
    Error: no more error handlers available (recursive errors?); invoking 'abort' restart
    
[/code]

以上のようなエラーが出てしまいます。  
browse()関数でエラー箇所を調べてみたところ、まず

[code]

    df2$dataname <- as.numeric(df2$dataname)
    
[/code]

以上の箇所で引っかかっていることが分かりましたが、それ以上何が原因でどうすればよいのか分かりませんでした。

有識者の方々、何卒ご教示いただけますと幸いです。

追記：[![画像の説明をここに入力](https://i.stack.imgur.com/Hxlvs.png)](https://i.stack.imgur.com/Hxlvs.png)  
コード中のX.5という列名？は以下のように自動で付与されていました。




問題点は `df2$dataname` という表記にあります。この場合、データフレーム `df2` の `dataname`
カラムという意味になってしまいます。なので、indirect access な表記に変更します。

[code]

      ## df2$dataname -> df2[, dataname] へ変更
    
      df2$dataname <- as.numeric(df2$dataname)
      =>
      df2[, dataname] <- as.numeric(df2[, dataname])
    
      tibbledataid = tibble(tibbledataid = df2$dataname)
      =>
      tibbledataid = tibble(tibbledataid = df2[, dataname])
    
[/code]

また、DataandIdExtractionfromCSV 関数呼び出しの際に指定する第3引数を文字列に変更します。

[code]

      ## Dendrite.Length -> "Dendrite.Length" へ変更
    
      DataandIdExtractionfromCSV("...", "tesuto", Dendrite.Length)
      =>
      DataandIdExtractionfromCSV("...", "tesuto", "Dendrite.Length")
    
[/code]

