有些东西我无法弄清楚 这是我的数据集
Proband Lauf Interleukin Ansatz Zeitpunkt
1 3 2 IFNy stim ZP21
2 3 2 iL2 stim ZP4
3 3 2 iL2 stim ZP14
4 5 3 iL2 stim ZP21
5 4 3 iL2 stim ZP2
6 4 3 iL2 stim ZP4
7 4 3 iL2 stim ZP28
8 9 5 iL2 stim ZP0
9 13 6 IFNy stim ZP4
10 13 6 iL2 stim ZP7
11 16 7 iL2 stim ZP21
12 16 7 iL2 stim ZP28
我想要点击“Zeitpunkt”,所以我接下来做了什么:
pvalsig1 <- read.csv2(file="pvalsig.csv", fill=NA, na.strings="")
pvalsig1 <- pvalsig[,1:5]
pvalsig1$Zeitpunkt <- as.character(pvalsig1$Zeitpunkt)
pvalsig1$Zeitpunkt <- factor(pvalsig1$Zeitpunkt, levels=c("ZP0", "ZP2", "ZP4", "ZP7", "ZP14", "ZP21", "ZP28", "ZP35", "ZPM9", "ZPM9+1"))
给了我
Proband Lauf Interleukin Ansatz Zeitpunkt
1 3 2 IFNy stim ZP21
2 3 2 iL2 stim <NA>
3 3 2 iL2 stim ZP14
4 5 3 iL2 stim ZP21
5 4 3 iL2 stim <NA>
6 4 3 iL2 stim <NA>
7 4 3 iL2 stim <NA>
8 9 5 iL2 stim <NA>
9 13 6 IFNy stim <NA>
10 13 6 iL2 stim <NA>
11 16 7 iL2 stim ZP21
12 16 7 iL2 stim <NA>
我确信,它之前与“Zeitpunkt”栏中的不规则排队有关。但我无法弄清楚它是什么以及我如何驾驭它。 THX
答案 0 :(得分:3)
尝试:
pvalsig1$Zeitpunkt <- factor(gsub("\\s*", "", pvalsig1$Zeitpunkt), levels=c("ZP0", "ZP2", "ZP4", "ZP7", "ZP14", "ZP21", "ZP28", "ZP35", "ZPM9", "ZPM9+1"))
这将删除列中的所有空格。您遇到的问题是,您尝试使用级别为"ZP0 "
的{{1}}等值创建因子,因此由于额外的空格,值不匹配。
请注意,如果您的因子级别可以包含空格或其他空白字符,这将会中断,但如果是这种情况,您可以非常轻松地将正则表达式调整为:
ZP0
此外,根据您从中获取此数据的位置,某些输入函数具有剥离额外空格的功能(例如"(^\\s+|\\s*$)"
具有read.table
参数)。
此外,快速搜索R trim可以拉出 popular SO answer 。