如何使用R中的csv中的某些列创建数据框

时间:2016-06-18 20:47:03

标签: r csv dataframe

我像这样导入了我的csv文件。

my.xldataset <- read.csv('http://www.math.smith.edu/sasr/datasets/help.csv')

现在,我正在寻找仅使用csv文件中的这些列创建数据帧(id,pcs1,mcs1,实体和种族组)。我知道它是一个data.frame函数,但我对如何让csv文件只显示这些选择列有点困惑。我该怎么做呢?我很感激帮助。

2 个答案:

答案 0 :(得分:2)

您可以对data.frame .replace(/['`"/\]/g, "")

进行子集化
my.xldataset

答案 1 :(得分:2)

您可以使用fread

中的data.table
# Fast and convenient
library(data.table)
fread('http://www.math.smith.edu/sasr/datasets/help.csv', select=c('id', 'pcs1', 'mcs1', 'substance','racegrp'))

或者您可以使用sqldf#如果数据集很大,这可能是最简单的。

# Read csv
my_xldataset <- read.csv('http://www.math.smith.edu/sasr/datasets/help.csv')
#Gsub "." with "_" because of sqldf
colnames(my_xldataset) <- gsub("\\.","_",colnames(my_xldataset))

library(sqldf)
my.xldataset <- sqldf("select id, pcs1, mcs1, substance, racegrp from my_xldataset")
# Show output
head(my.xldataset)

  id     pcs1     mcs1 substance racegrp
1  1 54.22583 52.23480   cocaine   black
2  2 59.56066 41.72696   alcohol   white
3  3 58.45777 56.77131    heroin   black
4  4 46.60988 14.65925    heroin   white
5  5 31.41642 40.67421   cocaine   black
6  6 43.20495 50.05917   cocaine   black