我已经将带有rvest的HTML表刮到了数据帧中,但是我需要清理它以适合我的需要。我不确定是否应该在抓取中执行此操作,还是在数据处理后将其清除。
我需要在第一行中添加一列,并在第二行中添加值。然后完全删除第二行。如果有意义,请对每个奇/偶行重复一次。
这是刮痕的外观:
n = c("Player 1", "Male", "Player 2", "Female")
s = c(1, "Male", 5, "Female")
b = c(1, "Male", 5, "Female")
df1 = data.frame(n, s, b)
这就是我想要的样子:
n = c("Player 1", "Player 2")
s = c(1, 5)
b = c(1, 5)
v = c("Male", "Female")
df1 = data.frame(n, s, b, v)
尝试这个
# First, split the dataframe by odd/even rows.
# Then, cbind odd (TRUE) and even (FALSE) rows;
# only need the first column of every even row because all columns have the same value.
with(
split(df1, seq_len(nrow(df1)) %% 2L == 1L),
as.data.frame(cbind(`TRUE`, v = `FALSE`[[1L]]))
)
输出量
n s b v
1 Player 1 1 1 Male
3 Player 2 5 5 Female
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句