簡體   English   中英

使用R將非數字數據轉換為數字數據

[英]transform non-numeric data to numeric data with R

我有一個具有以下格式的csv文件:

android ; login.html , connect.json , page1.json 

windows ; login.html , connect.json , page1.json , page2.html , page5.html 

windows ; login.html , connect.json , page4.json

要使用這些變量進行PCA多變量分析,這些變量必須為數字,例如:

1 ; 3  

0 ; 5

0 ; 3

0或1表示是Windows還是android,然后是頁面數。 我正在尋找修改這些非數字數據的方法,請問有什么想法? 最好

這是一種方法:

data.frame(V1 = as.numeric(mydf$V1 == "android"), 
           V2 = count.fields(textConnection(mydf$V2), sep = ","))
#   V1 V2
# 1  1  3
# 2  0  5
# 3  0  3

樣本數據:

mydf <- read.table(
  header = FALSE, sep = ";", stringsAsFactors = FALSE, strip.white = TRUE,
  text = '"android" ; "login.html , connect.json , page1.json" 
"windows" ; "login.html , connect.json , page1.json , page2.html , page5.html" 
"windows" ; "login.html , connect.json , page4.json"')

嘗試strsplitlengths

DF <- read.table(text = Lines, sep = ";", as.is = TRUE, strip.white = TRUE)
transform(DF, V1 = as.numeric(V1 == "android"), V2 = lengths(strsplit(V2, ",")))

給予:

  V1 V2
1  1  3
2  0  5
3  0  3

注意:我們使用了以下輸入:

Lines <- "android ; login.html , connect.json , page1.json 
windows ; login.html , connect.json , page1.json , page2.html , page5.html 
windows ; login.html , connect.json , page4.json"

暫無
暫無

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

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