这应该是一件微不足道的事情,但我没有发现任何谷歌搜索它。
我在csv文件中有以下数据
test.csv
var1,var2
'a',1
'b',2
我用
读到了Rd <- read.csv('test.csv')
我有一种方法可以在我的R代码中插入csv文件的内容吗?类似的东西:
d <- read.csv(
'var1,var2\n
'a',1\n
'b',2')
(上面的语法不起作用)
如何告诉R输入字符串应该被视为数据本身而不是包含它的文件名?
这可以用于向Rmarkdown添加小表而无需创建一堆辅助文件
当然我可以用
添加相同的信息d <- data.frame(
var1=c('a','b'),
var2=1,2
)
但是按向量列出数据向量会降低进程的速度。 csv的逐行结构是easyer
答案 0 :(得分:3)
试试这个
CSV_Text = "var1,var2
'a',1
'b',2"
Dat = read.csv(text=CSV_Text, header=TRUE)
答案 1 :(得分:2)
我们可以使用非常快的mysqli_error($mysqli)
fread
library(data.table)
fread(txt)
# var1 var2
#1: a 1
#2: b 2
答案 2 :(得分:0)
tibble包的tribble()
方法是另一个很好的选择,用于在R文件中写入一小部分表格数据,其方式是人类可读,机器可读且易于维护/编辑。作为奖励,它可以很容易地将R表达式用作表中的值。
# Column names are prefaced with "~"
my_tibble1 <- tribble(
~colA, ~colB, ~colC,
"a", 1, 10.1,
"b", 2, 3.4,
"c", 3, 5.6
)
#> # A tibble: 3 x 3
#> colA colB colC
#> <chr> <dbl> <dbl>
#> 1 a 1 10.1
#> 2 b 2 3.4
#> 3 c 3 5.6
# tribble will create a list column if the value in any cell is
# not a scalar
my_tibble2 <- tribble(
~x, ~y,
"a", 1:3,
"b", 4:6
)
#> # A tibble: 2 x 2
#> x y
#> <chr> <list>
#> 1 a <int [3]>
#> 2 b <int [3]>
如果您之前没有遇到过音响,那么它们({更多)是data.frame
的替代品。如果您需要确保数据是data.frame
而不是tibble
,则可以将其转换为as.data.frame(...)
的数据。