-1

データセットで as.Date() を使用しようとしていますが、データにインデックスを付ける 2 つの方法の違いがわかりません。

これは私のデータです (test2.csv):

Date        Aadfe   Wee     Dell    Percent
10/11/2012  1211    1000    3556    0.03
10/12/2012  100     2000    3221    0.43
10/13/2012  3423    10000   2343    0.54
10/14/2012  10000   3000    332     0.43
10/15/2012  2342    500     4435    0.43
10/16/2012  2342    800     2342    0.23
10/17/2012  2342    1500    1231    0.12
10/18/2012  111     2300    333 
10/19/2012  1231    1313    3433    
10/20/2012  3453    5654    222 
10/21/2012  3453    3453    454 
10/22/2012  5654    7685    3452    

私のコード:

library(ggplot2)
data <- read.csv("test2.csv")
new <- c(data["Date"])
newDates <- as.Date(new, "%m/%d/%Y")
ggplot(data, aes(x = as.character(newDates), y = Percent)) + 
  geom_point(size = 3)

次のエラーが表示されます。

Error in as.Date.default(new, "%m/%d/%Y") : 
  do not know how to convert 'new' to class “Date”

それでも試してみると

library(ggplot2)
data <- read.csv("test2.csv")
new <- data$Date
newDates <- as.Date(new, "%m/%d/%Y")
ggplot(data, aes(x = as.character(newDates), y = Percent)) + 
  geom_point(size = 3)

プロットは問題なく、エラーはありません。私の質問は: data$Date と c(data["Date"]) の違いは何ですか? 端末でそれらを印刷すると、どちらも同様の結果になります。データの列名がわからないという前提で作業しているため、c(data["Date"]) を使用する必要があるため、data$Date を直接使用することはできません。私の実際のプログラムでは、列名はユーザーからの入力になるため、コードは実際には c(data[input$x]) になります。テストとして c(data["Date"]) を使用していました。

4

1 に答える 1