[英]R: read csv with column names in variables
我想讀取一個 csv 文件並使用變量中的列名。 當然,變量中的字符串等於 csv 文件的列名。
csv 列中的名稱是例如 "name" 、 "ps" 和 "year"。 當我只想讀取 csv 並分配列類型(沒有任何變量)時,我使用:
library(readr)
CarTest <- read_csv("~/_file.csv",
col_types = cols(
name = col_character(),
year_a = col_character(),
ps =col_double()))
這個想法是在變量中分配列的名稱,以確保如果 csv 文件中的列名稱發生更改,則只需要更改變量字符串。 所以,我想之前在變量中分配列名(仍然是 csv_file 中的列名和變量中的字符串是相同的)。 我嘗試了不同的方法:這個例子(希望如此)表明,我嘗試將變量car_names
的字符串粘貼到read_csv
函數中。 但顯然get
是錯誤的方法:
library(readr)
car_names <- "name"
engine_power <- "ps"
year_a <-"year"
CarTest <- read_csv("~/_file.csv",
col_types = cols(
get("car_names") = col_character(),
get("year_a") = col_character(),
get("engine_power") =col_double()))
謝謝你的幫助;)
如果您只想強加列名,您可以這樣做:
讀取沒有列名的數據:
data <- read.csv(file="myfile.csv", header=FALSE, sep=",")
強加列名:
names(data) <- c('id','name','type')
使用列名查看數據:
data
id name type
37707 name1 t1
37726 name2 t2
37737 name3 t3
您可以使用 col_names 參數指定列名:
> library(readr)
> read_csv("example.csv", col_names = c("name", "year_a", "ps"), col_types = cols(col_character(), col_character(), col_double()))
# A tibble: 4 x 3
name year_a ps
<chr> <chr> <dbl>
1 1 2 3.0
2 test1 2017 35.5
3 test2 2018 44.5
4 test3 2019 22.0
因此,要使用您的示例變量,您可以這樣做:
library(readr)
read_csv("example.csv", col_names = c(car_names, year_a, engine_power), col_types = cols(col_character(), col_character(), col_double()))
data1 <- read.csv("2016.csv",col.names = c("consitituency_name","candidate_surname","candidate_first_name","result","count_number","transfers","votes","total_votes","candidate_id","party"))
這段代碼在我的系統上運行良好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.