如何将Qualtrics数据(csv格式)导入R

5

我正在尝试将从Qualtrics下载的数据导入到R中。它是一个csv文件。

enter image description here

然而,我遇到了两个问题。

  1. R 无法自己确定每列的格式,可能是因为第二行和第三行(以上面突出显示)都是无用的文本。R 认为所有列都是character类型。然而,显然有些是 date、一些是factor、一些是integer。如何让 R 能够正确地自动确定每列的数据类型?
library(tidyverse)
filename <- "mydata.csv"
df = read_csv(filename, col_names = TRUE)

Parsed with column specification:
cols(
  .default = col_character()
)
See spec(...) for full column specifications.
我也尝试分别加载变量名(header)和数据矩阵。不幸的是,使用skip = 3参数无效。它说我的数据只有1个观测值...为什么?
 filename <- "mydata.csv"
 headers = read_csv(filename, col_names = FALSE, n_max = 1)
 df = read_csv(filename, skip = 3, col_names = FALSE)
 colnames(df)= headers
Error in names(x) <- value : 
'names' attribute [273] must be the same length as the vector [1]

什么是将csv文件导入R的好方法?
2个回答

2

我使用以下代码将Qualtrics中的数据导入R:

library(tidyverse)
filename <- "mydata.csv"
headers = read_csv(filename, col_names = FALSE, n_max = 1)
df = read_csv(filename, skip = 3, col_names = FALSE)
colnames(df)= headers

然而,有一个需要注意的地方。只有当您在下载数据时删除了所有换行符时,此方法才有效。(请参见下面的图表以了解如何操作。)我的skip = 3参数有效,因为我在从Qualtrics下载数据时删除了所有换行符。很可能您在Qualtrics中提出的问题包含多行。这会导致R无法正确理解文件。我建议您在从网站下载数据时删除所有换行符。
使用上述方法,R通常能够正确识别大多数列的数据结构,节省了您自己重新编码的大量工作。 enter image description here

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接