从R或Python中的CSV文件中选择变量名称列表

js4nwp54  于 2023-02-17  发布在  Python
关注(0)|答案(1)|浏览(170)

有人知道如何从CSV文件中提取变量列表吗?更具体地说,我有一个非常大的CSV文件,其中每列都是一个变量,每行都是一个单独的样本。我有一个包含100多个变量名称的列表,我感兴趣,只想从总共1000多个变量的列表中提取这些变量。我希望所有受试者都使用这些变量(行)的数据。原始文件是SPSS文件格式,但我认为如果我将文件转换为csv,将更容易选择变量。最好的方法是什么?
下面是一个例子:

SDYID  b_t  cd_t  cf_t  cu_t  en_t  fu_t  ip_t  ft_t  tc_t  lo_t
subj1  2.8  2.7   2.5   1.8   3.2   2.8   2.5   2.7   2.4   2.9
subj2  2.9  2.1   2.3   1.9   3.4   2.6   2.6   2.8   2.5   3.1

例如,我想提取所有主题的变量cf_ttc_t,并将其保存在另一个csv文件中:

SDYID  cf_t tc_t
subj1  2.5  2.4  
subj2  2.3  2.5

我有变量名,我想提取文本文件。实际文件包含更多的变量和主题。
非常感谢-Moj

wz3gfoph

wz3gfoph1#

一个简单的方法是使用R中更大的tidyverse包家族中的readr包。特别是,当使用readr中的read_csv()函数时,可以指定col_select参数将所需的列(变量)读入R。请参见下面的示例。
我还使用basehere包来帮助创建、查找示例数据并将其写入Excel文件。

library(here)
library(readr)
write.csv(data.frame(a=rep(1:10),b=rep(1:10),cf_t=rep(1:10),
                     tc_t=rep(1:10),d=rep(1:10)),
          file=here("data.csv"),row.names = FALSE)
data<-read_csv(here("data.csv"),col_select = c(3,4))
write.csv(data,file=here("newdata.csv"),row.names = FALSE)

readr有许多更有用的函数和参数,在https://readr.tidyverse.org/reference/read_delim.html中有介绍。当您需要清理有选择地阅读R的数据时,您可能也会对dplyr感兴趣,在https://dplyr.tidyverse.org/中有介绍。

相关问题