我的数据集非常简单(clouds.txt)。它具有以下格式。
"seeded clouds" "unseeded clouds"
129.6 26.1
31.4 26.3
2745.6 87
489.1 95
etc. etc.
我使用了以下代码。
clouds = read.table("materials/clouds.txt", header=TRUE)
attach(clouds)
我现在如何使用变量"种子云"和#34;未播种的云" ?
我查看了R手册中的attach()
功能并通过Google查看。我也尝试输入seeded_clouds,seededclouds和种子。
答案 0 :(得分:4)
非语法变量名称可以通过将它们放在反引号中来使用:
`my variable` <- 3
`my variable`
## 3
请注意,当使用read.table
读入数据时,它会将列名更改为语法变量名(除非使用check.names = FALSE
read.table
参数。)
Lines <- '"seeded clouds" "unseeded clouds"
129.6 26.1
31.4 26.3
2745.6 87
489.1 95
'
clouds <- read.table(text = Lines, header = TRUE)
clouds$seeded.clouds
clouds2 <- read.table(text = Lines, header = TRUE, check.names = FALSE)
clouds2$"seeded clouds"
clouds2[["seeded clouds"]]
可以在其他环境中使用反向标记,例如使用with
,transform
等时
transform(clouds2, diff = `seeded clouds` - `unseeded clouds`)
dif <- with(clouds2, `seeded clouds` - `unseeded clouds`)
plot(`seeded clouds` ~ `unseeded clouds`, clouds2)
可以使用 attach(clouds2)
,在这种情况下,可以使用反引号引用变量,但通常attach
仅以交互方式使用,不鼓励进行编程。
答案 1 :(得分:3)
`seeded clouds`
`unseeded clouds`
编辑:虽然OP似乎不需要这种格式,但这应该适用于需要此功能的人(即决定在列名中使用空格的人)
x = data.frame(a = 1:10, b = 2: 11)
colnames(x) = c("a column","another column")
attach(x)
"a column"
#[1] "a column"
`a column`
#[1] 1 2 3 4 5 6 7 8 9 10
抱歉,我忘记将给定数据视为文本文件而不是实际数据框。
答案 2 :(得分:2)
read.table()
会将空格转换为点。您的环境中应该有seeded.clouds
。
答案 3 :(得分:1)
我以错误的方式解决了这个问题。输入云后,我看到了以下内容。
## seeded.clouds unseeded.clouds
## 1 129.6 26.10
## 2 31.4 26.30
## 3 2745.6 87.00
毋庸置疑,答案是seeded.clouds和unseeded.clouds。