如果我有一个数据框:
a b
2.4 4.6
3.6 66.7
5.8 44.6
Run Code Online (Sandbox Code Playgroud)
a和b都是数字.
我想转换"." 与","
df$a <- as.numeric(gsub(".", ",", df$a))
Run Code Online (Sandbox Code Playgroud)
但我总是得到
Warning message:NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)
并且所有值都转换为NA.为什么?
我想在SOG列中创建一个连续运行零的计数器.
对于SOG中第一个0序列,将Stops列中的计数器设置为1.对于第二个零运行,将"Stops"设置为2,依此类推.
SOG Stops
--- -----
4 0
4 0
0 1
0 1
0 1
3 0
4 0
5 0
0 2
0 2
1 0
2 0
0 3
0 3
0 3
Run Code Online (Sandbox Code Playgroud) 此问题与R中列值更改后的连续值非常相似
因此对于
SOG <- c(4,4,0,0,0,3,4,5,0,0,1,2,0,0,0)
Run Code Online (Sandbox Code Playgroud)
不同的是,现在我想算出有多少组SOG.例如:
SOG Trips
--- -----
4 1
4 1
0 0
0 0
0 0
3 2
4 2
5 2
0 0
0 0
1 3
2 3
0 0
0 0
0 0
Run Code Online (Sandbox Code Playgroud)
任何人?
我正在尝试为数据框的每一行制作一个折线图traff。x轴表示从2006年到2012年。
最终结果应该是每行单独的图形。在下面的示例中,第一张图代表第三条线,第二张图代表第二条线(请参见下表):

我知道如何找到每一行的最大值以获取最大yaxis与:
xaxis <- colnames (traff[,(3:10)])
Run Code Online (Sandbox Code Playgroud)
但是我正在努力使每一行循环并生成一个折线图。如您所见,每个端口(a,b和c)具有三个类别(IntPass,Pass和Cruise)。
Port Category 2006 2007 2008 2009 2010 2011 2012
a IntPass 9046000 0 9579000 9683700 10404900 0 0
a Pass 270000 260000 360000 360000 342000 385000 368000
a Cruise 259 238 269 263 247 258 265
b IntPass 8249304 8222336 8692362 9015726 9107665 9177075 9050424
b Pass 0 272584 351267 437437 381141 407162 463770
b Cruise 260 255 265 293 261 263 274
c IntPass 6760000 6514294 7247366 …Run Code Online (Sandbox Code Playgroud)