1
我有一個字符向量的順序,:組合成不同長度的數據幀矢量但保持以下形式的
vv<-c(1,2,"c", "2%", 3, "b", "4%") # original vector
從這個矢量I創建根據下面的代碼行了一些新的載體:
# original vector
vv<-c(1,2,"c", "2%", 3, "b", "4%")
# vector without the characters , i.e the c and b
vv1<-vv[-grep("[a-zA-Z]", vv)]
# Steps to create the vector of "integers"
strip_percents <- as.numeric(gsub("%", "", vv1))
no_percents <- as.numeric(vv1[-grep("%", vv1)])
# Vector that collects the strings
strings_vv1 <- vv[grep("[a-zA-Z]", vv)]
# Vector the collects the percentage numbers
perce_vv1 <-vv1[grep("%", vv1)]
perce_vv1 <- as.numeric(gsub("%", "", perce_vv1))/100
我的目的是所有這些載體組合和創建一個數據幀,但以下原載體的結構/順序。換句話說,我想用「合適的地方」填充數據框。所以,例如,我的數據框我想看起來像這樣:
df<-data.frame(original=vv, numerics=c(1,2,NA,0.02,3,NA,0.04), integers=c(1,2,NA,NA,3,NA,NA), characters=c(NA,NA,"c",NA,NA,"b",NA))
original numerics integers characters
1 1 1.00 1 <NA>
2 2 2.00 2 <NA>
3 c NA NA c
4 2% 0.02 NA <NA>
5 3 3.00 3 <NA>
6 b NA NA b
7 4% 0.04 NA <NA>
有人可以幫我完成這個任務嗎?
它的工作表示感謝。但是,我忘了一些東西。如果原始矢量也有日期,如果我想創建一個收集日期的新矢量並再次組合所有矢量以構建數據框,那麼會有什麼不同? – msh855
在我的數據庫中,c和b的等價物是句子,似乎並沒有收集到上面例子中的矢量「字符」。 – msh855
@ msh855如果兩者之間有空格,您可能需要'^ [A-Za-z] + $' – akrun