簡體   English   中英

數據幀中的 R 類型 int / char 混淆

[英]R type int / char confusion in a dataframe

我有一個 DataFrame,從中我創建了另一個 DataFrame。 沿着這條線的某個地方,事情變得一團糟,但我不確定在哪里,以及如何解決它。

該代碼適用於第一個數據幀,所以我認為它是某種類型不匹配? 我是否需要以某種方式將字段轉換回字符串?

##creating the second data frame

adat2 <- data.frame(id=character(), Title=character(), Domain=character(), lemtext1=character(), Language=character(), day=character())


##copying from the first one, whilst splitting rows into multiple rows based on lemtext

for (row in 1:nrow(adat1)) {
    splitlines <- strsplit(adat1$lemtext[row], ", |\\. |: |; ")[[1]]
    for (row2 in 1:NROW(splitlines)){
        adat2 <- add_row(adat2, id=adat1$id[row], Title=adat1$Title[row], Domain=adat1$Domain[row], lemtext1=splitlines[row2], Language=adat1$Language[row], day=adat1$day[row])
    }
}

##trying to work with the new dataframe

tokens <- space_tokenizer(adat2$`lemtext2`[which(((adat2$Domain=="index.hu") |
                                                   (adat2$Domain=="hvg.hu") | (adat1$Domain=="24.hu") | (adat1$Domain=="444.hu")) & 
                                                   (adat2$day>=as.Date("2018-10-13")) & (adat1$day<=as.Date("2019-10-13")))])

獲取錯誤信息

來自 R 工作室的錯誤消息

adat1 輸出:

https://www.pastiebin.com/5df253f6b79aa

adat2一切都是一個因素。 這與您創建adat2 您需要將stringAsFactors = FALSE添加到data.frame()函數中。

adat2 <- data.frame(id = character(),
                    Title = character(),
                    Domain = character(),
                    lemtext1 = character(),
                    Language = character(),
                    day = character(),
                    stringAsFactors = FALSE)

如果你現在想知道你有什么樣的列。 你應該str(adat2)或每列你可以使用例如class(adat2$id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM