我有一个向量,如下所示:
("#99" "Hershey" "$6.7 B" "7%" "$4.7 B" "$562 M" "Consumer Packaged Goods"
"#100" "Costco" "$6.7 B" "14%" "$117.3 B" "-" "Retail")
Run Code Online (Sandbox Code Playgroud)
为了简单起见,我只提到了 700 个元素中的几个元素。
我想将其转换为数据框,如下所示:
S.NO Brand Brandval Change Revenue Cost Industry
99 Hershey $6.7 B 7% $4.7 B $562M Consumer Packaged goods
100 Costco $6.7B 14% $117.3B - Retail
Run Code Online (Sandbox Code Playgroud)
我正在尝试 as.data.frame 但它给我的结果是一列,而我想将其分成 7 列,如上所述。请帮忙。
您可以这样做:根据重复的向量分割向量1:7
,然后应用cbind.data.frame
。最后,添加列名称
x=c("#99", "Hershey", "$6.7 B", "7%", "$4.7 B", "$562 M", "Consumer Packaged Goods", "#100", "Costco", "$6.7 B", "14%", "$117.3 B", "-", "Retail")
res <- cbind.data.frame(split(x, rep(1:7, times=length(x)/7)), stringsAsFactors=F)
names(res) <- c("S.NO", "Brand", "Brandval", "Change", "Revenue", "Cost", "Industry")
str(res)
#### 'data.frame': 2 obs. of 7 variables:
#### $ S.NO : chr "#99" "#100"
#### $ Brand : chr "Hershey" "Costco"
#### ...
Run Code Online (Sandbox Code Playgroud)
您可以选择该选项StringAsFactors
以获得字符或因子列