[英]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"')
嘗試strsplit
和lengths
:
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.