Regex 将带有空格的csv设置字段读取为NA
我有一个csv文件,如下所示:Regex 将带有空格的csv设置字段读取为NA,regex,r,read.csv,Regex,R,Read.csv,我有一个csv文件,如下所示: A, B, C, 1, 2 1, 3, 3, 1, 0, 4, 1, 0 5, ... 是否可以设置na.string以将所有带空格的字段分配给na(例如,类似于regexfunction(x){x[grep(patt=“\\”,x)]我们可以在列上循环,并通过转换为numeric将其设置为na df1[] <- lapply(df1, as.numeric) df1[]我们可以在列上循环,并通过转换为numeric将其设置为NA df1[] &
A, B, C,
1, 2 1, 3,
3, 1, 0,
4, 1, 0 5,
...
是否可以设置na.string以将所有带空格的字段分配给na(例如,类似于
regex
function(x){x[grep(patt=“\\”,x)]我们可以在列上循环,并通过转换为numeric
将其设置为na
df1[] <- lapply(df1, as.numeric)
df1[]我们可以在列上循环,并通过转换为numeric
将其设置为NA
df1[] <- lapply(df1, as.numeric)
df1[]我不知道这将如何翻译,但我将使用以下正则表达式匹配包含空格的字段:
[^, ]+ [^, ]+
即:
- 逗号或空格以外的某些字符(
[^,]+
)
- 后跟空格(
)
- 以及除逗号或空格以外的更多字符(
[^,]+
)
您可以看到它的作用。我不知道这将如何转换,但我将使用以下正则表达式匹配包含空格的字段:
[^, ]+ [^, ]+
即:
- 逗号或空格以外的某些字符(
[^,]+
)
- 后跟空格(
)
- 以及除逗号或空格以外的更多字符(
[^,]+
)
你可以在行动中看到它。关于@akrun答案的变化(我喜欢)
假设所有列都是字符
,则读取文件,然后将所有列从dplyr
转换为数字
,并使用mutate\u each
使用read调用中已经存在的colClasses=“numeric”
不起作用(我不知道为什么:(),因为
从中我们了解到,我们可以制作一个新函数来进行转换
setAs("character", "numwithspace", function(from) as.numeric(from) )
read.csv("test.csv", colClasses="numwithspace")
给
A B C
1 1 NA 3
2 3 1 0
3 4 1 NA
@akrun答案的变化(我喜欢)
假设所有列都是字符
,则读取文件,然后将所有列从dplyr
转换为数字
,并使用mutate\u each
使用read调用中已经存在的colClasses=“numeric”
不起作用(我不知道为什么:(),因为
从中我们了解到,我们可以制作一个新函数来进行转换
setAs("character", "numwithspace", function(from) as.numeric(from) )
read.csv("test.csv", colClasses="numwithspace")
给
A B C
1 1 NA 3
2 3 1 0
3 4 1 NA
您可以让字段只包含空格,还是始终至少包含另一个字符?没有字段只包含空格--始终至少包含其他字符…您可以让字段只包含空格,还是始终至少包含其他字符?没有字段只包含空格--始终至少包含其他字符。。。它将所有数字字段转换为字符串,即“1”,NA,“3”
而不是1,NA,3
为.numeric!应该想到这个简单的方法!非常感谢!它将所有数字字段转换为字符串,即“1”,NA,“3”
而不是1,NA,3
为.numeric!应该想到这个简单的方法!非常感谢!